JP5405684B1 - Source program programming language converter - Google Patents

Source program programming language converter Download PDF

Info

Publication number
JP5405684B1
JP5405684B1 JP2013068751A JP2013068751A JP5405684B1 JP 5405684 B1 JP5405684 B1 JP 5405684B1 JP 2013068751 A JP2013068751 A JP 2013068751A JP 2013068751 A JP2013068751 A JP 2013068751A JP 5405684 B1 JP5405684 B1 JP 5405684B1
Authority
JP
Japan
Prior art keywords
program
programming language
source
module
conversion
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.)
Active
Application number
JP2013068751A
Other languages
Japanese (ja)
Other versions
JP2014191738A (en
Inventor
紳一 高田
Original Assignee
株式会社バリュー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社バリュー filed Critical 株式会社バリュー
Priority to JP2013068751A priority Critical patent/JP5405684B1/en
Application granted granted Critical
Publication of JP5405684B1 publication Critical patent/JP5405684B1/en
Publication of JP2014191738A publication Critical patent/JP2014191738A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

【課題】
プログラム構造全体がオブジェクト指向型に変換される、ソースプログラムのプログラミング言語変換装置、変換方法、変換プログラム、及び、変換プログラムが記録された記録媒体を提供する。
【解決手段】
第一のプログラミング言語で記述された第一のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに分離する。分離されたビジネスロジック記述部を、第二のプログラミング言語で記述されたモジュールに置き換える。モジュールに置き換えられたビジネスロジック記述部と、分離しておいたプログラム制御記述部とを再結合させて、制御記述部のプログラム命令を第二のプログラミング言語で記述されたプログラム命令で置き換えて、第二のソースプログラムを生成する。
【選択図】 図1
【Task】
Provided are a programming language conversion device of a source program, a conversion method, a conversion program, and a recording medium on which the conversion program is recorded, in which the entire program structure is converted into an object-oriented type.
[Solution]
The first source program described in the first programming language is separated into a program control description part and a business logic description part. The separated business logic description part is replaced with a module written in the second programming language. The business logic description part replaced with the module and the program control description part that has been separated are recombined, and the program instruction of the control description part is replaced with the program instruction described in the second programming language. Generate a second source program.
[Selection] Figure 1

Description

本発明は、手続き型プログラミング言語で記述されたソースプログラムを、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換するためのプログラミング言語変換装置、変換方法、変換プログラム、及び、変換プログラムを記録した記録媒体装置に関する。   The present invention relates to a programming language conversion device, a conversion method, a conversion program, and a recording recording the conversion program for converting a source program described in a procedural programming language into a source program described in an object-oriented programming language. The present invention relates to a media device.

コンピュータハードウェアの性能向上は日進月歩であり、その進歩の速さには目覚ましいものがある。ハードウェアの計算・処理能力の向上に伴い、ハードウェア資源を有効活用する目的から、ソフトウェアには、より多くのデータを用い、より複雑で高度な情報処理を行うことが求められている。   The performance of computer hardware is constantly improving, and the speed of progress is remarkable. With the improvement of hardware calculation and processing capabilities, software is required to use more data and perform more complex and advanced information processing in order to effectively use hardware resources.

こうしたソフトウェアへの要求に応えていくことは、必然的に、プログラムの拡張による大規模化やソースプログラムの複雑化を進めることとなるが、プログラムが大規模になり、ソースプログラムが複雑になればなる程、ソフトウェア開発者の負担はより大きなものとなり、またソフトウェアのメンテナンスは困難となる。   Responding to such demands on software will inevitably increase the scale and complexity of the source program by expanding the program, but if the program becomes large and the source program becomes complex, Indeed, the burden on the software developer becomes greater and software maintenance becomes difficult.

このような問題を解決するためには、従来よりも、プログラムの拡張性を高めて大規模なプログラムの開発を容易にしたり、ソースプログラムの可読性を向上させてソフトウェアのメンテナンスを容易にしたりすることが必要とされる。こうした要望に応えるために、ソフトウェアに関する技術も急速に進歩してきている。   In order to solve such problems, it is easier to develop a large-scale program by improving the extensibility of the program than before, or to improve the readability of the source program to facilitate software maintenance. Is needed. In order to meet these demands, software-related technologies are also making rapid progress.

ソフトウェアに関する技術進歩の一つとして、プログラミング技法の進歩が挙げられる。その具体例として、例えば、オブジェクト指向プログラミングの導入が挙げられる。従来のプログラミング技法に基づくプログラミング言語である、例えば、「手続き型プログラミング言語」を用いた場合に比べて、オブジェクト指向プログラミング言語を用いた場合には、大規模なプログラムの開発が容易になり、ソースプログラムの可読性が向上し、ソフトウェアの保守性や再利用性が向上することが知られている。   One of the technological advances related to software is the progress of programming techniques. A specific example is the introduction of object-oriented programming. Compared to using a procedural programming language, which is a programming language based on conventional programming techniques, for example, using an object-oriented programming language makes it easier to develop a large-scale program and It is known that program readability is improved and software maintainability and reusability are improved.

このように、近年ではオブジェクト指向プログラミング言語を用いたソフトウェア開発が主流となっている一方で、オブジェクト指向型でないプログラミング言語で記述されたソフトウェアも多く残されている。こうした古いソフトウェアを新しいハードウェア環境でも利用できるようにするには、オブジェクト指向型でないプログラミング言語で記述されたソースプログラムを、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換することが望ましい。   As described above, in recent years, software development using an object-oriented programming language has become mainstream, while a lot of software written in a programming language that is not object-oriented remains. In order to be able to use such old software in a new hardware environment, it is desirable to convert a source program written in a non-object-oriented programming language into a source program written in an object-oriented programming language.

このような、手続き型プログラミング言語で記述されたソースプログラムから、オブジェクト指向プログラミング言語で記述されたソースプログラムへの言語変換を支援する手段を提供するものとして、例えば、変換前ソースプログラムの内容と、これに対応する変換後のプログラム内容との変換対応情報、及び、変換後のプログラムの内容に対応する変換前プログラミング言語の文脈パターン情報を予め記憶しておき、変換前ソースプログラムの内容と文脈パターン情報とをパターン認識して、パターン認識での一致度が最も高い変換後のプログラム内容を用いてソースプログラムの言語変換を行う、ソースプログラム他言語変換支援装置(特許文献1参照)などが挙げられる。   As a means for supporting language conversion from a source program described in a procedural programming language to a source program described in an object-oriented programming language, for example, the contents of a source program before conversion, The conversion correspondence information with the converted program content corresponding to this, and the context pattern information of the programming language before conversion corresponding to the content of the converted program are stored in advance, and the content and context pattern of the source program before conversion are stored. Examples include a source program other language conversion support device (see Patent Document 1) that performs pattern conversion of information and performs language conversion of the source program using the converted program content having the highest degree of matching in pattern recognition. .

特開2011−170556号公報JP 2011-170556 A

オブジェクト指向型でないプログラミング言語で記述されたソースプログラムを、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換するに当たっては、プログラム構造全体がオブジェクト指向型で構築されることが好ましい。さもなくば、オブジェクト指向プログラミング言語で記述することによる利点が得られないので、言語変換する意味自体が薄れてしまう。   In converting a source program written in a programming language that is not object-oriented into a source program written in an object-oriented programming language, the entire program structure is preferably constructed in an object-oriented manner. Otherwise, the advantage of describing in an object-oriented programming language cannot be obtained, and the meaning of language conversion itself will be lost.

上記の特許文献1に記載の発明は、パターン認識を用いて、手続き型プログラミング言語でのプログラムパターンや命令を、オブジェクト指向プログラミング言語でのプログラムパターンや命令に置き換えるものである。つまり、ただ単に言語を置き換えるだけであり、プログラム全体の構造は変換元の手続き型のままであるので、ソースプログラムのプログラム構造全体をオブジェクト指向型に変換するには、更に技術者が手を加えなければならなかった。そのため、言語変換の省力化は十分なものではなく、拡張性・可読性・保守性・再利用性の向上等といった、オブジェクト指向プログラミングを用いることによる利点を得るには、技術者の多大な労力を必要とするという課題があった。   The invention described in Patent Document 1 uses pattern recognition to replace program patterns and instructions in a procedural programming language with program patterns and instructions in an object-oriented programming language. In other words, it simply replaces the language, and the structure of the entire program remains the procedural type of the conversion source. Therefore, an engineer has to make further changes to convert the entire program structure of the source program to the object-oriented type. I had to. For this reason, the labor saving of language conversion is not enough, and it takes a lot of engineers' efforts to gain the benefits of using object-oriented programming such as extensibility, readability, maintainability, and reusability. There was a problem of need.

また、上記の特許文献1に記載の発明においては、置き換えるべき変換後のプログラム内容が予め記憶されていなかった場合、パターン認識を用いても置き換えるべき変換後のプログラム内容が選択できなかった場合などに、変換後のソースプログラムにはその旨をコメント行として記述した内容が記述されるのみであるため、そのままでは、変換後のソースプログラムはコンパイル時にコンパイルエラーが発生するものであり、ソフトウェアとして実行することは不可能であった。また、パターン認識で誤った結果が得られたために不適切な変換が行われた場合などでも、同様に変換後のソースプログラムは実行不可能なものであった。そのため、多くの場合において、結局は、プログラマーなどの技術者が出力されたコメント行を参照して、変換後のソースプログラムを修正しなければ、変換後のソースプログラムをコンパイルしてそのまま実行することは不可能であるという課題があった。   In the invention described in Patent Document 1, when the converted program content to be replaced is not stored in advance, the converted program content to be replaced cannot be selected even using pattern recognition, etc. In addition, since the converted source program only contains the contents described as a comment line, the converted source program will cause a compile error during compilation and can be executed as software. It was impossible to do. In addition, even if an inappropriate conversion is performed due to an incorrect result obtained by pattern recognition, the converted source program cannot be executed in the same manner. Therefore, in many cases, if the source program after conversion is not corrected by referring to the comment line output by an engineer such as a programmer, the converted source program is compiled and executed as it is. There was a problem that was impossible.

本発明は、上記の課題を解決するためになされたものであり、プログラム構造全体がオブジェクト指向型に変換される、ソースプログラムのプログラミング言語変換装置、変換方法、変換プログラム、及び、変換プログラムが記録された記録媒体を提供することを目的とする。また、本発明は、プログラミング言語を変換したソースプログラムのコンパイル時にコンパイルエラーが発生しない、ソースプログラムのプログラミング言語変換装置、変換方法、変換プログラム、及び、変換プログラムが記録された記録媒体を提供することを目的とする。   The present invention has been made in order to solve the above-described problems, and a programming language conversion device, a conversion method, a conversion program, and a conversion program for a source program in which the entire program structure is converted into an object-oriented type are recorded. It is an object to provide a recorded recording medium. In addition, the present invention provides a programming language conversion apparatus, a conversion method, a conversion program, and a recording medium on which the conversion program is recorded, in which a compile error does not occur when the source program converted from the programming language is compiled. With the goal.

本発明は、第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換装置であって、第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段とを備えることを特徴とするプログラミング言語変換装置に関する。   The present invention is a programming language conversion device for converting a first source program described in a first programming language into a second source program described in a second programming language, the first source program Correspondence relationship between first source program input receiving means for receiving program input, program pattern related to program constituting first source program, module constituting second source program, and correspondence relationship between program pattern and module The relationship information storage means for storing information in advance and the structure of the first source program received by the first source program input receiving means are analyzed, and the first source program is analyzed by the program control description section and the business logic description section. First intermediate data separated into First conversion means for converting, module selection means for selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the correspondence information stored in the correspondence information storage means, and module selection The selection module selected by the means is used to convert the program of the business logic description part of the first intermediate data into the selection module, and the objectized business logic description part and the program control description part are regenerated. A second conversion means for converting the first intermediate data into the second intermediate data by combining the program instruction described in the first programming language with a program instruction described in the second programming language. Program life related to the correspondence of program instructions The first programming based on the program instruction replacement information stored in the program instruction replacement information storage means for the program instruction replacement information storage means for storing the replacement information in advance and the second intermediate data generated by the second conversion means. And a third conversion means for converting the second intermediate data into the second source program by replacing the program instruction of the program control description part described in the language with a program instruction described in the second programming language. The present invention relates to a programming language conversion device characterized by the above.

本発明においては、まず、第一のプログラミング言語で記述された第一のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに分離する。そして、分離されたビジネスロジック記述部を、第二のプログラミング言語で記述されたモジュールに置き換える。その後、モジュールに置き換えられたビジネスロジック記述部と、分離しておいたプログラム制御記述部とを再結合させて、制御記述部のプログラム命令を第二のプログラミング言語で記述されたプログラム命令で置き換えて、第二のソースプログラムを生成する。プログラム制御記述部とビジネスロジック記述部とを分離して、まずビジネスロジック記述部をモジュールに置き換えることにより、変換元の第一のソースプログラムのプログラム構造全体をオブジェクト指向型に変えることができる。そのため、本発明によりオブジェクト指向プログラミング言語に変換されたプログラムは、拡張性・可読性・保守性・再利用性の向上等というプログラム構造全体をオブジェクト指向型にしたことによる恩恵を、より少ない労力で得ることができる。つまり、言語変換を省力化し、技術者の負担を軽減することができる。   In the present invention, first, a first source program described in a first programming language is separated into a program control description part and a business logic description part. Then, the separated business logic description part is replaced with a module described in the second programming language. After that, the business logic description part replaced with the module and the program control description part that has been separated are recombined, and the program instruction of the control description part is replaced with the program instruction described in the second programming language. Generate a second source program. By separating the program control description part and the business logic description part and replacing the business logic description part with a module first, the entire program structure of the first source program to be converted can be changed to an object-oriented type. For this reason, a program converted into an object-oriented programming language according to the present invention obtains the benefits of making the entire program structure object-oriented, such as extensibility, readability, maintainability, and reusability, with less effort. be able to. In other words, language conversion can be saved and the burden on engineers can be reduced.

第三変換手段により変換された第二のソースプログラムに対して、第二のプログラミング言語における構文チェックを行うとともに、第二のソースプログラムをコンパイルして、コンパイルエラーが発生するか否かを検出するコンパイルエラー検出手段とを備え、コンパイルエラー検出手段により検出されたコンパイルエラーの原因となる第二中間データの記述を修正した後に、修正した第二中間データを第三変換手段が第二のソースプログラムに変換することが好ましい。   The second source program converted by the third conversion means is checked for syntax in the second programming language, and the second source program is compiled to detect whether a compile error occurs. Compile error detecting means, and after correcting the description of the second intermediate data causing the compile error detected by the compile error detecting means, the third conversion means converts the corrected second intermediate data into the second source program. It is preferable to convert to

第二中間データが第二のソースプログラムに変換された後に、この第二のソースプログラムに対して、第二のプログラミング言語における構文チェックを行うとともに、この第二のソースプログラムをコンパイルして、コンパイルエラーが発生するか否かのチェックを行う。コンパイルエラーの発生が検出された場合には、コンパイルエラーの原因となる第二中間データの記述部分を修正して、修正した第二中間データを第二のソースプログラムに変換する。そのため、コンパイルエラーが発生せず、そのままコンパイルして実行可能な第二のソースプログラムを得ることができる。これにより、言語変換を省力化することができ、技術者の負担を軽減することもできる。   After the second intermediate data is converted into the second source program, a syntax check in the second programming language is performed on the second source program, and the second source program is compiled and compiled. Check if an error occurs. When the occurrence of a compile error is detected, the description portion of the second intermediate data that causes the compile error is corrected, and the corrected second intermediate data is converted into the second source program. Therefore, it is possible to obtain a second source program that does not cause a compile error and can be compiled and executed as it is. Thereby, language conversion can be saved and the burden on the engineer can be reduced.

第二のプログラミング言語はオブジェクト指向プログラミング言語であることが好ましく、第一のプログラミング言語は手続き型プログラミング言語であることが好ましい。   The second programming language is preferably an object-oriented programming language, and the first programming language is preferably a procedural programming language.

本発明は、非オブジェクト指向プログラミング言語、例えば、手続き型プログラミング言語などで記述されたソースプログラムを、オブジェクト指向プログラミング言語に変換する際に好適に用いられる。手続き型プログラミング言語で記述されたソースプログラムを、プログラムの全体構造からオブジェクト指向型に変え、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換するので、変換されたソースプログラムは、オブジェクト指向プログラミングを用いることによる、拡張性・可読性・保守性・再利用性の向上等という恩恵を得ることができる。   The present invention is preferably used when a source program described in a non-object-oriented programming language, for example, a procedural programming language, is converted into an object-oriented programming language. A source program written in a procedural programming language is changed from an overall program structure to an object-oriented type and converted into a source program written in an object-oriented programming language, so the converted source program uses object-oriented programming. As a result, it is possible to obtain the benefits of extensibility, readability, maintainability, and reusability.

モジュールの機能を説明する情報であるモジュール説明情報と、プログラム制御記述部のプログラム命令を説明する情報であるプログラム命令説明情報とを予め記憶した仕様データ変換情報記憶手段と、第二中間データを構成するモジュールを、仕様データ変換情報記憶手段に記憶されたモジュール説明情報に置き換え、第二中間データを構成するプログラム制御記述部のプログラム命令を、仕様データ変換情報記憶手段に記憶されたプログラム命令説明情報に置き換えることにより、第二中間データを第二のソースプログラムの仕様に関する仕様データに変換する第四変換手段とを備えることが好ましい。   A specification data conversion information storage means that stores in advance module explanation information that is information for explaining the function of the module and program instruction explanation information that is information for explaining the program instruction of the program control description section, and second intermediate data The program instruction description information stored in the specification data conversion information storage means is replaced with the module description information stored in the specification data conversion information storage means, and the program instruction of the program control description part constituting the second intermediate data is replaced with the module instruction information stored in the specification data conversion information storage means. It is preferable to provide a fourth conversion means for converting the second intermediate data into specification data relating to the specification of the second source program by replacing the second intermediate data.

本発明によれば、ソースプログラムの言語変換を行うとともに、言語変換に伴って生成される第二中間データをもとに、変換された第二のソースプログラムの仕様書等のデータを生成することもできる。第二のソースプログラムに関する仕様書等の資料を容易に作成することができる。   According to the present invention, the language conversion of the source program is performed, and the converted data such as the specifications of the second source program is generated based on the second intermediate data generated along with the language conversion. You can also. Documents such as specifications related to the second source program can be easily created.

第一変換手段により生成される第一中間データは、MVCモデルに基づいて、ビジネスロジック記述部からなるModelオブジェクト部と、プログラム制御記述部からなるControlオブジェクト部とに分離されたものであることが好ましい。   The first intermediate data generated by the first conversion means is based on the MVC model and is separated into a Model object part consisting of a business logic description part and a Control object part consisting of a program control description part. preferable.

第一のソースプログラムをビジネスロジック記述部とプログラム制御記述部とに分離する際に、MVCモデルに基づいて、Modelオブジェクト部と、Controlオブジェクト部とに分離することにより、言語変換された第二のソースプログラムをMVCモデルに基づいたプログラム構造とすることができる。   When the first source program is separated into the business logic description part and the program control description part, the language converted second part is separated by separating the Model object part and the Control object part based on the MVC model. The source program can have a program structure based on the MVC model.

第一のソースプログラムがデータベースを参照する場合に、第一のソースプログラムが参照するデータベースを構成する物理ファイル及び論理ファイルの入力を受け付けるデータベースファイル受付手段と、物理ファイル及び論理ファイルに含まれるキーファイルに対応するモジュールと、キーファイルからモジュールを作成する対応関係に関する情報であるモジュール作成情報とを予め記憶したモジュール作成情報記憶手段とを備え、モジュール作成情報記憶手段に記憶されたモジュール作成情報に基づいて、データベースファイル受付手段により入力された物理ファイル及び論理ファイルについて、物理ファイル及び論理ファイルに含まれるキーファイル毎にモジュールを作成することが好ましい。   When the first source program refers to the database, database file accepting means for accepting input of the physical file and the logical file that constitute the database referred to by the first source program, and the key file included in the physical file and the logical file And module creation information storage means for storing module creation information, which is information relating to the correspondence relationship for creating a module from a key file, based on the module creation information stored in the module creation information storage means For the physical file and logical file input by the database file receiving means, it is preferable to create a module for each key file included in the physical file and the logical file.

第一のソースプログラムがデータベースを参照している場合に、そのデータベースを構成する物理ファイルや論理ファイルを読み込んで、変換後の第二のソースプログラムのビジネスロジック記述部を置換するモジュールを作成することで、第二のソースプログラムが既存のデータベース資産をそのまま活用できるようにすることができる。   When the first source program references a database, read the physical and logical files that make up the database and create a module that replaces the business logic description part of the converted second source program Thus, the second source program can use the existing database assets as they are.

また、本発明は、第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置において実行する方法であって、第一のソースプログラムの入力を受け付けるステップと、受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換するステップと、第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶手段に記憶しておき、記憶されていた対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するステップと、選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換するステップと、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶手段に記憶しておき、記憶されていたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換するステップとを有するプログラミング言語変換方法に関する。   The present invention also relates to a method for executing a programming language conversion in a computer device by converting a first source program described in a first programming language into a second source program described in a second programming language. And receiving the input of the first source program, analyzing the structure of the received first source program, and separating the first source program into a program control description part and a business logic description part. Preliminarily storing a step of converting into one intermediate data, a program pattern relating to a program constituting the first source program, a module constituting the second source program, and correspondence information relating to the correspondence between the program pattern and the module Memorize in the means, memorized A step of selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the corresponding relationship information, and using the selected selection module, the module of the business logic description part of the first intermediate data Converting the first intermediate data into the second intermediate data by re-joining the objected business logic description part and the program control description part; Program instruction replacement information related to the correspondence relationship of program instructions for replacing program instructions described in a programming language with program instructions described in a second programming language is stored in a storage unit in advance, and the stored program Based on the instruction replacement information, And replacing the program instruction of the program control description part described in the programming language with a program instruction described in the second programming language to convert the second intermediate data into the second source program. It relates to a language conversion method.

また、本発明は、第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置に実行させるプログラムであって、コンピュータ装置を、第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換える対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段として機能させる、プログラミング言語変換プログラムに関する。   The present invention also provides a program for causing a computer device to execute programming language conversion, which converts a first source program described in a first programming language into a second source program described in a second programming language. The computer device includes a first source program input receiving means for receiving an input of the first source program, a program pattern relating to a program constituting the first source program, and a module constituting the second source program. , Analyzing the structure of the first source program received by the first source program input receiving means and the correspondence information storage means for storing the correspondence information regarding the correspondence relation between the program pattern and the module in advance, Program the source program The first conversion means for converting the first intermediate data separated into the control description section and the business logic description section, and the business logic description section for the first intermediate data based on the correspondence information stored in the correspondence information storage means Using module selection means for selecting a module corresponding to the program pattern and the selection module selected by the module selection means, the program of the business logic description part of the first intermediate data is replaced with the selected module. A second conversion means for converting the first intermediate data into the second intermediate data by recombining the objectified business logic description section and the program control description section, and a program instruction written in the first programming language Program instructions written in a second programming language Based on the program instruction replacement information stored in the program instruction replacement information storage means for the program instruction replacement information storage means that stores program instruction replacement information related to the replacement relationship in advance and the second intermediate data generated by the second conversion means. Replacing the program instruction of the program control description unit described in the first programming language with the program instruction described in the second programming language, and converting the second intermediate data into the second source program. The present invention relates to a programming language conversion program that functions as three conversion means.

また、本発明は、第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置に実行させるプログラムを記録した記録媒体であって、コンピュータ装置を、第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換える対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段として機能させるプログラムを記録した記録媒体に関する。   The present invention also provides a program for causing a computer device to execute programming language conversion, which converts a first source program described in a first programming language into a second source program described in a second programming language. The first source program input receiving means for receiving the input of the first source program, the program pattern relating to the program constituting the first source program, and the second source program Analysis of the structure of the first source program received by the first source program input receiving means and the correspondence information storage means for storing the correspondence information regarding the correspondence between the modules constituting the program pattern and the module in advance And the first sauce A first conversion means for converting the program into first intermediate data separated into a program control description section and a business logic description section, and a business of the first intermediate data based on the correspondence information stored in the correspondence information storage means. Module selection means for selecting a module corresponding to the program pattern of the logic description part, and an object for replacing the program of the business logic description part of the first intermediate data with the selection module using the selection module selected by the module selection means The second conversion means for converting the first intermediate data into the second intermediate data by recombining the objectized business logic description section and the program control description section, and written in the first programming language Program instructions written in a second programming language Program instruction replacement information storage means for storing program instruction replacement information related to the correspondence relationship to be replaced with the program instruction, and program instructions stored in the program instruction replacement information storage means for the second intermediate data generated by the second conversion means Based on the replacement information, the program instruction of the program control description part described in the first programming language is replaced with the program instruction described in the second programming language, and the second intermediate data is replaced with the second source program. The present invention relates to a recording medium that records a program that functions as third converting means for converting to a recording medium.

本発明は、第一のプログラミング言語により記述された第一のソースコードデータを、第二のプログラミング言語により記述され、且つ、動作が可能な第二のソースプログラムに変換する、プログラミング言語変換装置であって、第一のソースコードデータが、第一のプログラミング言語により記述され、且つ、動作が可能な第一のソースプログラムを構成するプログラム制御記述部とビジネスロジック記述部を分離したデータ構造を有するものであり、第一のソースコードデータの入力を受け付ける第一ソースコードデータ入力受付手段と、第一のソースコードデータを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一ソースコードデータ入力受付手段により受け付けられた第一ソースコードデータのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、モジュール選択手段により選択された選択モジュールを用いて、第一ソースコードデータ入力受付手段により受け付けられた第一ソースコードデータの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一ソースコードデータを第二ソースコードデータに変換する第二変換手段と、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、第二変換手段により生成された第二ソースコードデータについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二ソースコードデータを第二のソースプログラムに変換する第三変換手段とを備えることを特徴とするプログラミング言語変換装置に関する。   The present invention is a programming language conversion device for converting first source code data described in a first programming language into a second source program described in a second programming language and operable. The first source code data is described in the first programming language and has a data structure in which the program control description part and the business logic description part constituting the first source program capable of operation are separated. The first source code data input receiving means for receiving the input of the first source code data, the program pattern relating to the program constituting the first source code data, the module constituting the second source program, Correspondence relationship between program pattern and module Business information description of the first source code data received by the first source code data input accepting means based on the correspondence information stored in the correspondence relation information storing means Module selecting means for selecting a module corresponding to the program pattern of the part, and the business logic of the first source code data received by the first source code data input receiving means using the selection module selected by the module selecting means The object which replaces the program of the description part with the selected module is converted into an object, the business logic description part converted into the object and the program control description part are recombined, and the first source code data is converted into the second source code data. Two conversion means and the first program Program instruction replacement information storage means for storing program instruction replacement information related to the correspondence relationship of the program instructions for replacing the program instructions described in the programming language with the program instructions described in the second programming language, and second conversion For the second source code data generated by the means, based on the program instruction replacement information stored in the program instruction replacement information storage means, the program instruction of the program control description part described in the first programming language is The present invention relates to a programming language conversion device comprising: a third conversion means for converting second source code data into a second source program in place of program instructions described in a second programming language.

第一のプログラミング言語で記述された第一のソースプログラムを、技術者が予めプログラム制御記述部とビジネスロジック記述部とに手動で分離しておき、この分離されたデータである第一のソースコードデータを、本発明のプログラミング言語変換装置に入力して、第二のプログラミング言語で記述された第二のソースプログラムに変換することもできる。これにより、プログラム制御記述部とビジネスロジック記述部とへの分離が困難な、複雑なソースプログラムであっても、第二のソースプログラムへの変換が容易に可能となる。   A first source program described in a first programming language is manually separated into a program control description part and a business logic description part in advance by an engineer, and the first source code which is the separated data Data can also be input to the programming language converter of the present invention and converted into a second source program written in a second programming language. As a result, even a complicated source program that is difficult to separate into a program control description part and a business logic description part can be easily converted into a second source program.

本発明は、第一のプログラミング言語により記述されたソースコードデータを、第二のプログラミング言語により記述され、且つ、動作が可能な第二のソースプログラムに変換する、プログラミング言語変換装置であって、ソースコードデータが、第一のプログラミング言語により記述され、且つ、プログラム制御記述部とビジネスロジック記述部から構成されるものであり、さらに、ビジネスロジック記述部のプログラムの一部が、モジュールに置き換えられることでオブジェクト化されたものであり、ソースコードデータの入力を受け付けるソースコードデータ入力受付手段と、第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、ソースコードデータ入力受付手段により受け付けられたソースコードデータについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、ソースコードデータを第二のソースプログラムに変換する第三変換手段とを備えることを特徴とするプログラミング言語変換装置に関する。   The present invention is a programming language conversion device for converting source code data described in a first programming language into a second source program described in a second programming language and operable. The source code data is described in the first programming language and is composed of a program control description part and a business logic description part, and a part of the program in the business logic description part is replaced with a module. The source code data input receiving means for receiving the input of the source code data and the program instruction described in the first programming language into the program instruction described in the second programming language Program life to replace Program instruction replacement information storage means for storing program instruction replacement information relating to the correspondence relationship in advance, and source code data received by the source code data input receiving means for program instruction replacement information stored in the program instruction replacement information storage means Based on this, the program instruction of the program control description part described in the first programming language is replaced with the program instruction described in the second programming language, and the source code data is converted into the second source program. The present invention relates to a programming language conversion device comprising three conversion means.

また、本発明のプログラミング言語変換装置においては、第二のソースプログラムを構成するモジュールを予め登録しておき、これらとプログラム制御記述部とを組み合わせて、ソースコードデータを入力し、作成することもできる。特に、作成しようとする第二のソースプログラムが複雑である場合や長大である場合、また、もととなるソースプログラムからの変更が多い場合などにおいては、第一のソースプログラム等を用意して、これをもとに変換・修正するよりも、第一のプログラミング言語に精通した技術者がソースコードデータを入力するほうが容易である場合がある。入力したソースコードデータからは、第二のソースプログラムを容易に得ることができるため、本発明のプログラミング言語変換装置を用いることで、第二のプログラミング言語に精通していない技術者であっても、第二のソースプログラムを容易に作成することができる。   In the programming language conversion apparatus of the present invention, modules constituting the second source program may be registered in advance, and these may be combined with the program control description unit to input and create source code data. it can. In particular, if the second source program to be created is complex or long, or if there are many changes from the original source program, prepare the first source program, etc. In some cases, it is easier for an engineer familiar with the first programming language to input the source code data than to convert or modify the data based on this. Since the second source program can be easily obtained from the input source code data, even a technician who is not familiar with the second programming language can use the programming language conversion device of the present invention. The second source program can be easily created.

本発明の実施の形態にかかるプログラミング言語変換装置の構成を示すブロック図である。It is a block diagram which shows the structure of the programming language converter concerning embodiment of this invention. 本発明の実施の形態にかかる変換元ソースプログラムを第一中間データに変換する際のデータ構成を示す図である。It is a figure which shows the data structure at the time of converting the conversion source source program concerning embodiment of this invention into 1st intermediate data. 本発明の実施の形態にかかる第二中間データのデータ構成を示す図である。It is a figure which shows the data structure of the 2nd intermediate data concerning embodiment of this invention. 本発明の実施の形態にかかる第二中間データを第二のソースプログラムに変換する際のデータ構成を示す図である。It is a figure which shows the data structure at the time of converting the 2nd intermediate data concerning embodiment of this invention into a 2nd source program. 本発明の実施の形態にかかるプログラミング言語変換処理のフローチャートである。It is a flowchart of the programming language conversion process concerning embodiment of this invention. 本発明の実施の形態にかかるRPGからJava(登録商標)へのプログラミング言語変換の変換例を示す図である。It is a figure which shows the example of a conversion of the programming language conversion from RPG to Java (trademark) concerning embodiment of this invention. 本発明の実施の形態にかかるRPGからJava(登録商標)へのプログラミング言語変換の変換例を示す図である。It is a figure which shows the example of a conversion of the programming language conversion from RPG to Java (trademark) concerning embodiment of this invention.

(第1の実施形態)
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかるプログラミング言語変換装置の構成を示すブロック図である。図示するように、プログラミング言語変換装置1は、制御部11、RAM(Random Access Memory)12、ハードディスク・ドライブ(HDD)13、インターフェイス部14、及び、データベース15からなり、それぞれ内部バスにより接続されている。
(First embodiment)
Embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a block diagram showing a configuration of a programming language conversion apparatus according to an embodiment of the present invention. As shown in the figure, the programming language conversion device 1 includes a control unit 11, a RAM (Random Access Memory) 12, a hard disk drive (HDD) 13, an interface unit 14, and a database 15, each connected by an internal bus. Yes.

制御部11は、CPU(Central Processing Unit)やROM(Read Only Memory)から構成される。制御部11は、HDD13に格納されたプログラムを実行し、プログラミング言語変換装置1の制御を行なう。RAM12は、制御部11のワークエリアである。HDD13は、プログラムやデータを保存するための記憶領域である。プログラミング言語変換に必要なプログラムやデータは、HDD13やデータベース15から読み出され、RAM12にロードされる。   The control unit 11 includes a CPU (Central Processing Unit) and a ROM (Read Only Memory). The control unit 11 executes a program stored in the HDD 13 and controls the programming language conversion device 1. The RAM 12 is a work area for the control unit 11. The HDD 13 is a storage area for storing programs and data. Programs and data required for programming language conversion are read from the HDD 13 and the database 15 and loaded into the RAM 12.

制御部11は、プログラミング言語変換の進行に必要なプログラム及びデータをRAM12から読み出して処理を行なう。制御部11は、RAM12にロードされたプログラム及びデータを処理することで、処理結果である中間データや、最終出力であるソースプログラムをHDD13に記録する。   The control unit 11 reads a program and data necessary for the progress of programming language conversion from the RAM 12 and performs processing. The control unit 11 processes the program and data loaded in the RAM 12 to record the intermediate data as the processing result and the source program as the final output in the HDD 13.

インターフェイス部14には、表示装置21及び入力部23(例えば、マウスやキーボード等)が接続されている。制御部11は、データ処理過程において、本願発明のプログラミング言語変換装置1の利用者(以下、利用者と略す)が確認すべき情報や、処理の終了を知らせる情報などを、インターフェイス部14に接続された表示装置21の表示画面22に表示する。利用者は、この表示画面22の表示を参照して、入力部23からプログラミング言語変換処理に関する指示を入力することができる。利用者による入力部23からの入力情報はRAM12に格納され、制御部11は入力情報をもとに各種のプログラミング言語変換処理を実行する。   A display device 21 and an input unit 23 (for example, a mouse or a keyboard) are connected to the interface unit 14. The control unit 11 connects to the interface unit 14 information to be confirmed by the user of the programming language conversion device 1 of the present invention (hereinafter abbreviated as “user”) and information notifying the end of the process in the data processing process. It is displayed on the display screen 22 of the displayed display device 21. The user can input an instruction regarding the programming language conversion process from the input unit 23 with reference to the display on the display screen 22. Information input by the user from the input unit 23 is stored in the RAM 12, and the control unit 11 executes various programming language conversion processes based on the input information.

データベース15には、プログラミング言語変換に必要なデータ16が予め記憶されている。データベース15に記憶されているデータ16には、プログラムパターン16a、モジュール16b、対応関係情報16c、プログラム命令置換情報16d、モジュール説明情報16e、プログラム命令説明情報16f、及び、モジュール作成情報16gが含まれる。プログラムパターン16aは、変換元のプログラミング言語で記述されたプログラムの構文に関する情報である。モジュール16bは、変換先のプログラミング言語で記述された所定の機能を担う機能単位のプログラムである。対応関係情報16cは、各プログラムパターン16aをどのモジュール16bを用いて置き換えるかの対応関係に関する情報である。プログラム命令置換情報16dは、変換元のプログラム命令を変換先のプログラム命令に置き換えるための対応情報である。モジュール説明情報16eは、モジュール16bの機能を説明する情報である。プログラム命令説明情報16fは、変換元のプログラム制御記述部のプログラム命令の内容を説明する情報である。モジュール作成情報16gは、第一のソースプログラムがデータベースを参照する場合に、参照するデータベースを構成する物理ファイルや論理ファイルに含まれるキーファイルに対応するモジュール16bを作成するための対応情報に関する情報である。これらの予め記憶されているデータ16は、必要に応じて、HDD13に一時記憶されたり、さらにRAM12にロードされたりして、制御部11によるプログラミング言語変換処理に用いられる。   The database 15 stores data 16 necessary for programming language conversion in advance. Data 16 stored in the database 15 includes a program pattern 16a, a module 16b, correspondence information 16c, program instruction replacement information 16d, module description information 16e, program instruction description information 16f, and module creation information 16g. . The program pattern 16a is information related to the syntax of a program described in a conversion source programming language. The module 16b is a functional unit program having a predetermined function described in a conversion destination programming language. The correspondence relationship information 16c is information regarding the correspondence relationship of which module 16b is used to replace each program pattern 16a. The program instruction replacement information 16d is correspondence information for replacing the conversion source program instruction with the conversion destination program instruction. The module description information 16e is information describing the function of the module 16b. The program instruction explanation information 16f is information for explaining the contents of the program instruction in the program control description part of the conversion source. The module creation information 16g is information on correspondence information for creating a module 16b corresponding to a key file included in a physical file or a logical file constituting the database to be referred to when the first source program references the database. is there. These pre-stored data 16 are temporarily stored in the HDD 13 or loaded into the RAM 12 as necessary, and used for programming language conversion processing by the control unit 11.

次に、本発明の概要について、説明をする。本発明は、非オブジェクト指向型プログラミング言語によって記述されたソースプログラムを、オブジェクト指向プログラミング言語によって記述されたソースプログラムに変換する、プログラミング言語変換装置に関するものである。非オブジェクト指向型プログラミング言語としては、例えば、BASIC、C言語、COBOL、FORTRAN、Mathematica(登録商標)、Pascal、PHP、RPG、Visual Basic(登録商標)などの手続き型プログラミング言語、Haskell、LISP、Scheme、ML、Scalaなどの関数型プログラミング言語、Prolog、Popler、PARLOG、GHCなどの論理型プログラミング言語等が挙げられる。また、オブジェクト指向プログラミング言語としては、例えば、Simura、Smalltalk(登録商標)、C++(登録商標)、Objective−C(登録商標)、Eiffel、Self、CLOS、Python、Ruby、Perl、Java(登録商標)、JavaScript(登録商標)等が挙げられる。   Next, the outline of the present invention will be described. The present invention relates to a programming language conversion apparatus for converting a source program described in a non-object-oriented programming language into a source program described in an object-oriented programming language. Non-object-oriented programming languages include, for example, BASIC, C language, COBOL, FORTRAN, Mathematica (registered trademark), Pascal, PHP, RPG, Visual Basic (registered trademark), and other procedural programming languages, Haskell, LISP, and Scheme. And functional programming languages such as ML, Scala, and logical programming languages such as Prolog, Popler, PARLOG, and GHC. Further, as object-oriented programming languages, for example, Simura, Smalltalk (registered trademark), C ++ (registered trademark), Objective-C (registered trademark), Eiffel, Self, CLOS, Python, Ruby, Perl, Java (registered trademark). , JavaScript (registered trademark), and the like.

本発明においては、RPG等の手続き型プログラミング言語で記述されたソースプログラムを、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換することが好ましい。また、現在はオブジェクト指向言語に分類されるプログラミング言語やマルチパラダイムプログラミング言語等で記述されたソースプログラムであっても、手続き型プログラミング言語の記述方法に則って記述されたソースプログラム、例えば、2002年版以前のCOBOLで記述されたソースプログラム等であれば、本発明のプログラミング言語変換装置は、ソースプログラム全体の構造をオブジェクト指向型に変換することができるため、好適に用いることができる。また、例えば、COBOL等の場合において、プログラムの仕様やバージョンの異なるCOBOL間でソースプログラムを変換するといった、同じ言語間でのソースプログラム変換にも、本発明を好適に用いることができる。また、オブジェクト指向型プログラミング言語の考え方を用いて、ソースプログラムの構造を整理できるという観点から見れば、本発明のプログラミング言語変換は、手続き型プログラミング言語からオブジェクト指向プログラミング言語に限られるものではなく、例えば、同じ手続き型プログラミング言語に属する異なる言語間の言語変換や、同じオブジェクト指向プログラミング言語に属する異なる言語間の言語変換、またオブジェクト指向プログラミング言語から手続き型プログラミング言語への変換などにも好適に用いることができる。   In the present invention, it is preferable to convert a source program described in a procedural programming language such as RPG into a source program described in an object-oriented programming language. Even a source program currently written in a programming language classified as an object-oriented language, a multi-paradigm programming language, or the like, a source program written in accordance with a description method of a procedural programming language, for example, the 2002 version If it is a source program or the like described in the previous COBOL, the programming language conversion apparatus of the present invention can be suitably used because it can convert the entire structure of the source program into an object-oriented type. Further, for example, in the case of COBOL, the present invention can also be suitably used for source program conversion between the same languages, such as converting a source program between COBOLs having different program specifications and versions. Further, from the viewpoint that the structure of the source program can be organized using the concept of the object-oriented programming language, the programming language conversion of the present invention is not limited from the procedural programming language to the object-oriented programming language, For example, it is also suitable for language conversion between different languages belonging to the same procedural programming language, language conversion between different languages belonging to the same object-oriented programming language, and conversion from object-oriented programming language to procedural programming language. be able to.

本発明のプログラミング言語変換においては、まず変換元のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに分離する。図2は、本発明における、変換元のソースプログラムをプログラム記述部とビジネスロジック記述部とに分離する方法についての図である。ここでは、変換元のソースプログラムとして、手続き型プログラミング言語で記述されたソースプログラムを例に挙げ、説明するが、本発明はこれに限定されるものではなく、変換元のソースプログラムとしては、ソースプログラムをプログラム記述部とビジネスロジック記述部とに分離することのできるものであれば、手続き型プログラミング言語以外の他の言語で記述されたソースプログラムであっても良い。   In the programming language conversion of the present invention, first, the source program of the conversion source is separated into a program control description part and a business logic description part. FIG. 2 is a diagram illustrating a method for separating a source program of a conversion source into a program description part and a business logic description part in the present invention. Here, a source program written in a procedural programming language will be described as an example of the source program of the conversion source. However, the present invention is not limited to this, and the source program of the conversion source is a source program. A source program described in a language other than the procedural programming language may be used as long as the program can be separated into a program description portion and a business logic description portion.

手続き型プログラミング言語で記述された変換元のソースプログラムには、図2(a)のように、プログラム命令から構成される処理が一連のプロセスとして記述されている。この一連のプロセスにおいては、画面表示、画面遷移、入力受付、入力待ちなどのプログラム制御記述部と、内部演算処理を構成するビジネスロジック記述部とが交互に記述されている。プログラム制御記述部とビジネスロジック記述部とは、プログラムのユーザーによる入力イベント、例えば、Enterキーの押下やマウスによる「実行」ボタンの押下などのイベントによって、区分することができる。   In the source program of the conversion source described in the procedural programming language, as shown in FIG. 2A, processing composed of program instructions is described as a series of processes. In this series of processes, a program control description part for screen display, screen transition, input reception, input waiting, etc., and a business logic description part constituting internal arithmetic processing are alternately described. The program control description part and the business logic description part can be classified by an input event by the user of the program, for example, an event such as pressing of the Enter key or pressing of the “execute” button by the mouse.

つまり、入力イベントによるユーザーの演算開始指示後の内部演算処理が行われるプログラム部分が、ビジネスロジック記述部に相当する。一方、内部演算処理が終了した後から次の内部演算処理開始の指示を待つ入力待ち状態までのプログラム部分が、プログラム制御記述部に相当する。このように、変換元のソースプログラムを、入力イベントをキーにして、プログラム制御記述部とビジネスロジック記述部とに分離することができる。変換元のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに分離したデータが、第一中間データとして生成され、RAM12やHDD13に一時記憶される。   That is, the program part in which the internal calculation process after the user's calculation start instruction by the input event is performed corresponds to the business logic description part. On the other hand, the program part from the end of the internal arithmetic process to the input waiting state waiting for the next internal arithmetic process start instruction corresponds to the program control description part. Thus, the source program of the conversion source can be separated into the program control description part and the business logic description part using the input event as a key. Data obtained by separating the source program of the conversion source into a program control description part and a business logic description part is generated as first intermediate data and temporarily stored in the RAM 12 or the HDD 13.

図2(b)は、このようにして生成された第一中間データの構造を例示した図である。第一中間データは、変換元のソースプログラムのプログラム制御記述部とビジネスロジック記述部とを分離して保持しているデータであれば良く、例えば、CSV形式、TSV形式などの表計算ソフトで用いられるデータ形式等で、プログラム制御記述部とビジネスロジック記述部とを異なるコラムに分離して記載したものであれば良く、またプログラム制御記述部とビジネスロジック記述部とが別々のファイルとして分離されていても良い。特に図示はしないが、この分離された第一中間データのプログラム制御記述部とビジネスロジック記述部とには、それぞれ分離される前の変換元プログラムソースの記述上の位置に関する情報が記述されており、後述するモジュールとプログラム制御記述部との再結合は、この情報をもとにして実行される。   FIG. 2B is a diagram illustrating the structure of the first intermediate data generated in this way. The first intermediate data only needs to be data that separately holds the program control description portion and the business logic description portion of the source program of the conversion source. For example, the first intermediate data is used in spreadsheet software such as CSV format or TSV format. As long as the program control description part and the business logic description part are described separately in different columns, the program control description part and the business logic description part are separated as separate files. May be. Although not shown in particular, in the program control description part and the business logic description part of the separated first intermediate data, information on the description position of the conversion source program source before being separated is described. The recombination between the module and the program control description part, which will be described later, is executed based on this information.

この第一中間データが生成された時点で、後述するオブジェクト化を行う前に、オブジェクト化のための指定データを第一中間データに追記するようにしても良い。このオブジェクト化のための指定データとは、例えば、前もって、モジュールに入出力されるパラメータ設定などを、利用者が入力して修正するものである。この指定データの追記により、後述するオブジェクト化をよりスムーズに進めることができる。   At the time when the first intermediate data is generated, specification data for objectification may be added to the first intermediate data before objectization described later. The designation data for objectification is, for example, that the user inputs and corrects parameter settings input / output to / from the module in advance. By adding the designation data, the objectification described later can be performed more smoothly.

なお、特に図示しないが、この第一中間データの生成にあたっては、ソースプログラムの参照するデータベースの新旧対応も完了する。ソースプログラムがデータベースを参照する場合に、変換元のソースプログラムが参照するデータベースファイルと、変換先のソースプログラムが参照するデータベースファイルとが異なる場合、例えば、変換元のソースプログラムが参照するデータベースファイルが、いくつかのデータベースファイルに分割され、分割されたそれらのデータベースファイルを変換先のソースプログラムが参照するような場合がある。このような場合、特に図示しないが、データベース15には新旧データベースファイルの対応テーブルが予め記憶されており、この対応テーブルを参照して該当部分のソースプログラム内の記述を変更することにより、データベースの新旧対応が完了した形で、第一中間データは生成される。   Although not shown in the figure, when the first intermediate data is generated, the new and old correspondence of the database referred to by the source program is also completed. When the source program references a database, if the database file referenced by the conversion source program differs from the database file referenced by the conversion source program, for example, the database file referenced by the conversion source program In some cases, the database file is divided into several database files, and the divided source database program refers to the divided database files. In such a case, although not particularly illustrated, the correspondence table of the old and new database files is stored in the database 15 in advance, and the description of the database is changed by referring to the correspondence table and changing the description in the source program of the corresponding part. The first intermediate data is generated in the form where the old and new correspondence is completed.

次に、生成された第一中間データについて、分離されたビジネスロジック記述部のみを、変換先のオブジェクト指向プログラミング言語で記述されたモジュールに置き換えるオブジェクト化を行う。図2(b)で示された第一中間データは、まず、分離されているビジネスロジック記述部を変換先のプログラミング言語で記述されたモジュール16bから選択された選択モジュールで置き換えるオブジェクト化が行われる。この選択モジュールへの置き換えであるオブジェクト化は、後述するように、予めデータベース15に記憶されている情報を基に、パターン認識を用いて、変換元のプログラミング言語で記述されたプログラムパターン16aを、変換先のプログラミング言語で記述されたモジュール16bから選択された選択モジュールで置き換える方法で行われる。パターン認識を用いたプログラムパターンのモジュールへの置き換えは、例えば、変換前のプログラムを一行ずつ読み込んでRAM12に記憶し、読み込まれた一行のプログラム記述をプログラムパターン16aと照合して一致度を点数化し、最も一致度の高いプログラムパターンを特定して、これに対応するモジュール16bを対応関係情報16cから検索して選択し、選択された選択モジュールを用いて、プログラムパターン16aを置き換える方法などを用いることができる。   Next, the generated first intermediate data is converted into an object in which only the separated business logic description part is replaced with a module described in a conversion-destination object-oriented programming language. The first intermediate data shown in FIG. 2 (b) is first converted into an object that replaces the separated business logic description part with a selection module selected from the module 16b described in the conversion destination programming language. . As described later, the objectification that is the replacement to the selection module is performed by converting the program pattern 16a described in the conversion source programming language using pattern recognition based on information stored in the database 15 in advance. This is performed by replacing the selected module selected from the modules 16b described in the conversion destination programming language. The replacement of a program pattern with a module using pattern recognition is performed by, for example, reading the program before conversion line by line and storing it in the RAM 12, and comparing the read one line program description with the program pattern 16a to score the degree of coincidence. A method of specifying a program pattern having the highest degree of coincidence, searching for and selecting a module 16b corresponding to the program pattern from the correspondence relationship information 16c, and using the selected selection module to replace the program pattern 16a, etc. Can do.

オブジェクト化に必要なデータは、予め用意され、データベースに記憶されている。このオブジェクト化に必要なデータには、変換元のプログラミング言語におけるプログラムの構文に関するプログラムパターン16a、変換元のプログラムパターンに対応して変換先で同じ処理を行うモジュールであってオブジェクト指向プログラミング言語で記述されているモジュール16b、及び、記憶されたプログラムパターンとモジュールとの対応関係に関する情報である対応関係情報16cが含まれる。   Data necessary for objectification is prepared in advance and stored in a database. The data necessary for the objectization includes a program pattern 16a relating to the syntax of the program in the conversion source programming language, a module that performs the same processing in the conversion destination in accordance with the conversion source program pattern, and is described in the object-oriented programming language. Module 16b, and correspondence information 16c, which is information related to the correspondence between the stored program pattern and the module, is included.

ビジネスロジック記述部のプログラムパターンがモジュール16bから選択された選択モジュールによって置き換えられて変換されたデータについて、分離されていたプログラム制御記述部とオブジェクト化されたビジネスロジック記述部とを再結合させて、図3に示されるような第二中間データが生成される。この第二中間データにおいては、プログラム制御記述部はまだ言語変換されていない。   For the data converted by replacing the program pattern of the business logic description part by the selected module selected from the module 16b, the separated program control description part and the objectized business logic description part are recombined, Second intermediate data as shown in FIG. 3 is generated. In this second intermediate data, the program control description part has not yet undergone language conversion.

図4は、この第二中間データを第二のソースプログラムに変換する過程を示す図である。変換元のプログラミング言語で記述されたプログラム命令によって構成されているこの第二中間データのプログラム制御記述部について、変換先のプログラミング言語で記述されたプログラム命令を用いて置き換えを行うことで、プログラム全体が変換先のプログラミング言語で記述されたソースプログラムである、第二のソースプログラムへの変換が行われる。この置き換えは、第一のプログラミング言語のプログラム命令を、第二のプログラミング言語のプログラム命令に置き換える対応関係に関するプログラム命令置換情報16dを、予めデータベース15に記憶しておき、この情報を参照して、上述したプログラムパターンのモジュールへの置き換えのような、パターン認識を用いた置き換え方法等の方法によって実行される。ここで生成された第二のソースプログラムは、HDD13に記憶される。また、変換完了メッセージが表示装置21の表示画面22に表示される。   FIG. 4 is a diagram showing a process of converting the second intermediate data into the second source program. By replacing the program control description part of this second intermediate data, which is composed of program instructions described in the conversion source programming language, with the program instructions described in the conversion destination programming language, the entire program Is converted to a second source program, which is a source program written in the conversion destination programming language. For this replacement, program instruction replacement information 16d related to the correspondence relationship for replacing the program instruction of the first programming language with the program instruction of the second programming language is stored in the database 15 in advance, and this information is referred to. It is executed by a method such as a replacement method using pattern recognition, such as replacement of the program pattern described above with a module. The second source program generated here is stored in the HDD 13. A conversion completion message is displayed on the display screen 22 of the display device 21.

次に、本発明のプログラミング言語変換方法について、図を参照しつつ説明する。図5は、本発明のプログラミング言語変換方法に関するフローチャート図である。   Next, the programming language conversion method of the present invention will be described with reference to the drawings. FIG. 5 is a flowchart relating to the programming language conversion method of the present invention.

まず、第一のプログラミング言語で記述されたソースプログラムである、第一のソースプログラムが入力部23から入力される(ステップS11)。入力された第一のソースプログラムは、HDD13に記憶され、必要に応じてソースプログラムの一部又は全部がRAM12にロードされ、制御部11によって演算処理が行われる。   First, a first source program, which is a source program written in a first programming language, is input from the input unit 23 (step S11). The input first source program is stored in the HDD 13, and part or all of the source program is loaded into the RAM 12 as necessary, and the control unit 11 performs arithmetic processing.

次に、制御部11は、入力された第一のソースプログラムについて、プログラム構造を解析する。この解析により、入力イベントや画面遷移などをキーとして、プログラム制御記述部とビジネスロジック記述部との境界を検出し、上述した方法により、第一のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに分離したデータである第一中間データに変換する(ステップS12)。第一中間データは、HDD13に一時記憶される。   Next, the control unit 11 analyzes the program structure of the input first source program. By this analysis, the boundary between the program control description part and the business logic description part is detected using the input event, screen transition, etc. as a key, and the first source program is described in the program control description part and the business logic description by the method described above. The data is converted into first intermediate data which is data separated into parts (step S12). The first intermediate data is temporarily stored in the HDD 13.

次に、制御部11は、データベース15に記憶されたプログラムパターン16a、モジュール16b、及び、対応関係情報16cを参照して、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュール16bを選択する(ステップS13)。   Next, the control unit 11 refers to the program pattern 16a, the module 16b, and the correspondence relationship information 16c stored in the database 15, and determines the module 16b corresponding to the program pattern of the business logic description unit of the first intermediate data. Select (step S13).

次に、制御部11は、選択された選択モジュールを用いて、第一中間データのビジネスロジック記述部のプログラムパターンを、対応する選択モジュールに置き換える(オブジェクト化)。この選択モジュールへの置き換えにより、プログラムの全体構造がオブジェクト化される。そして、制御部11は、オブジェクト化されたビジネスロジック記述部と、オブジェクト化されていないプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する(ステップS14)。再結合の方法は、第一中間データへの変換時に、プログラム制御記述部とビジネスロジック記述部とのそれぞれに記述された、分離される前の変換元プログラムソースの記述上の位置に関する情報を参照し、元の位置関係を維持するようにして、再結合が実行される。この再結合により、図2(b)のような構造であった第一中間データは、図3のような構造の第二中間データに変換される。第二中間データは、HDD13に記憶される。   Next, the control unit 11 uses the selected selection module to replace the program pattern of the business logic description unit of the first intermediate data with a corresponding selection module (objectification). By replacing with the selection module, the entire structure of the program is converted into an object. Then, the control unit 11 recombines the objectized business logic description part and the non-objectized program control description part to convert the first intermediate data into the second intermediate data (step S14). For the recombination method, refer to the information on the description location of the source program source before separation, described in each of the program control description part and business logic description part when converting to the first intermediate data. Then, the recombination is performed so as to maintain the original positional relationship. By this recombination, the first intermediate data having the structure as shown in FIG. 2B is converted into the second intermediate data having the structure as shown in FIG. The second intermediate data is stored in the HDD 13.

次に、制御部11は、第二中間データのプログラム制御記述部を、第二のプログラミング言語のプログラム命令で置き換える(ステップS15)。このステップで、第二中間データは全体が第二のプログラミング言語で記述された状態となる。この置き換えは、上述したステップS14と同様に、第一のプログラミング言語のプログラム命令を、第二のプログラミング言語のプログラム命令に置き換える対応関係に関するプログラム命令置換情報16dを、予めデータベース15に記憶しておき、この情報を参照して実行される。   Next, the control unit 11 replaces the program control description unit of the second intermediate data with a program instruction of the second programming language (step S15). At this step, the second intermediate data is entirely written in the second programming language. In this replacement, similarly to step S14 described above, program instruction replacement information 16d relating to the correspondence relationship in which the program instruction of the first programming language is replaced with the program instruction of the second programming language is stored in the database 15 in advance. Executed with reference to this information.

次に、ステップS15で生成された、第二のプログラミング言語で記述された第二中間データについて、制御部11のROMに予め記憶された構文チェックツールを用いて、第二中間データの構文チェックを実行し(ステップS16)、コンパイルエラーの有無を判定する(ステップS17)。この構文チェックは、変数を比較、移動する際に、変数同士の型が同じであるかどうか、変数が存在するものであるかどうか、他のモジュール16bを実行する際に、実行するモジュール16bが受け取るパラメータと、実行を指定した部品が指示するパラメータとに差がないかどうか、モジュール16b内で参照されている変数が宣言されているかどうか等といった項目をチェックすることで行われる。構文チェックにより、コンパイルエラーが検出された場合には、第二中間データの形式で記述されたチェックリストが出力される(ステップS18)。第二中間データの形式とは、例えば、変換元のプログラミング言語と変換先のプログラミング言語との中間言語などであって、出力されたチェックリストが、変換元のプログラミング言語を知る技術者によりチェックできるものであることが好ましい。このチェックリストを参照して、制御部11のROMに予め記憶されたコンパイルエラー修正ツールを用いて、検出されたコンパイルエラーに該当する第二中間データの記述部分が修正される(ステップS19)。これらの構文チェックツールやコンパイルエラー修正ツールとしては、一般によく知られているものを用いることもでき、例えば、第二のプログラミング言語がJavaである場合には、Eclipse(登録商標)などの統合開発環境ツールを用いることもできる。   Next, the second intermediate data described in the second programming language generated in step S15 is checked for syntax of the second intermediate data using a syntax check tool stored in advance in the ROM of the control unit 11. It is executed (step S16), and it is determined whether there is a compilation error (step S17). In this syntax check, when comparing and moving variables, whether the types of the variables are the same, whether the variables exist, whether the module 16b to be executed is executed when another module 16b is executed. This is done by checking items such as whether there is no difference between the received parameter and the parameter designated by the component that has been designated for execution, whether a variable referenced in the module 16b is declared, or the like. If a compile error is detected by the syntax check, a check list described in the format of the second intermediate data is output (step S18). The format of the second intermediate data is, for example, an intermediate language between the conversion source programming language and the conversion destination programming language, and the output checklist can be checked by an engineer who knows the conversion source programming language. It is preferable. With reference to this checklist, the description portion of the second intermediate data corresponding to the detected compile error is corrected using the compile error correction tool stored in advance in the ROM of the control unit 11 (step S19). As these syntax check tools and compilation error correction tools, generally well-known tools can be used. For example, when the second programming language is Java, integrated development such as Eclipse (registered trademark) is used. Environmental tools can also be used.

第二中間データについて、ステップS17の構文チェックによりコンパイルエラーが検出されない場合には、制御部11は、第二中間データを第二のソースプログラムに変換する(ステップS20)。得られた第二のソースプログラムはHDD13に記憶され、表示装置21の表示画面22には、プログラミング言語変換処理が完了した旨のメッセージが表示される。   For the second intermediate data, if no compile error is detected by the syntax check in step S17, the control unit 11 converts the second intermediate data into the second source program (step S20). The obtained second source program is stored in the HDD 13, and a message indicating that the programming language conversion process has been completed is displayed on the display screen 22 of the display device 21.

次に、本発明のプログラミング言語変換装置によって生成される、第二のソースプログラムの仕様に関する仕様データの生成に関して説明する。データベース15には、モジュールの機能に関するモジュール説明情報16eと、変換元のプログラミング言語で記述されているプログラム制御記述部のプログラム命令に関するプログラム命令説明情報16fとが、予め記憶されている。本発明のプログラミング言語変換装置による変換の過程で生成された第二中間データは、変換先のプログラミング言語で記述されたモジュール16bから選択された選択モジュールと、変換元のプログラミング言語で記述されたプログラム制御記述部とが含まれ、図3のような構造を有している。制御部11は、この第二中間データの選択モジュールを、モジュール説明情報16eに置き換える。また、制御部11は、この第二中間データのプログラム制御記述部のプログラム命令を、プログラム命令説明情報16fに置き換える。これらの置き換えによって、第二中間データは、プログラム全体の構造を保ったまま、プログラムを構成するモジュールの機能に関する情報とプログラム制御を行うプログラム命令に関する情報とからなる、第二のソースプログラムの仕様に関する仕様データに変換される。この仕様データから、技術者は、第二のソースプログラムのプログラム構造や機能などといった仕様に関する資料である仕様書や、各業務機能のオブジェクト構造図などを容易に作成することができる。また、予め仕様書に関するフォーマットを決めておき、そのフォーマットに関する情報をデータベース15に記憶させておき、そのフォーマットに仕様データを整形することで、仕様書や各業務機能のオブジェクト構造図そのものを自動生成することもできる。   Next, generation of specification data related to the specification of the second source program generated by the programming language conversion apparatus of the present invention will be described. The database 15 stores in advance module description information 16e relating to the function of the module and program instruction explanation information 16f relating to the program instruction of the program control description part described in the conversion source programming language. The second intermediate data generated in the process of conversion by the programming language converter of the present invention includes a selection module selected from the modules 16b described in the conversion destination programming language and a program described in the conversion source programming language. The control description part is included and has a structure as shown in FIG. The control unit 11 replaces the second intermediate data selection module with the module description information 16e. Further, the control unit 11 replaces the program command in the program control description unit of the second intermediate data with the program command description information 16f. With these replacements, the second intermediate data is related to the specifications of the second source program, which includes information on the functions of modules constituting the program and information on program instructions for performing program control while maintaining the structure of the entire program. Converted to specification data. From this specification data, the engineer can easily create a specification, which is a document related to the specification such as the program structure and functions of the second source program, and an object structure diagram of each business function. In addition, the format related to the specification is determined in advance, the information related to the format is stored in the database 15, and the specification data is formatted into the format, thereby automatically generating the specification and the object structure diagram of each business function. You can also

なお、本実施形態においては、本発明のプログラミング言語変換装置に入力されるデータの例として、第一のソースプログラムを挙げて説明したが、本発明はこれに限定されることはなく、例えば、技術者が予め第一のソースプログラムを、プログラム制御記述部とビジネスロジック記述部とに手動で分離したデータである、第一のソースコードデータ(上記の「第一中間データ」に相当する)を入力するようにして、この第一のソースコードデータを第二のソースプログラムに変換する目的にも、好適に用いることができる。また、第一のプログラミング言語で記述されたプログラム制御記述部と、第二のソースプログラムを構成するモジュールによりオブジェクト化されたビジネスロジック部とからなるデータである、ソースコードデータ(上記の「第二中間データ」に相当する)を、本発明のプログラミング言語変換装置を用いて初めから入力するようにして、このソースコードデータを第二のソースプログラムに変換する目的で用いることもできる。本発明はこれらのような構成を取ることで、複雑なソースプログラムや長大なソースプログラム、元のソースプログラムからの変更の多いソースプログラム等の作成を容易にすることが可能となる。特に、第一のプログラミング言語には精通していても、第二のプログラミング言語を扱えない技術者であっても、本発明のプログラミング言語変換装置を用いることで、第二のプログラミング言語で記述された第二のソースプログラムを容易に作成することが可能となる。   In the present embodiment, the first source program has been described as an example of data input to the programming language conversion apparatus of the present invention, but the present invention is not limited to this, for example, First source code data (corresponding to the above "first intermediate data"), which is data obtained by an engineer manually separating the first source program into a program control description part and a business logic description part in advance. It can also be suitably used for the purpose of converting the first source code data into the second source program as input. Also, source code data (the above-mentioned “second” is data composed of a program control description part written in the first programming language and a business logic part made into an object by modules constituting the second source program. It is also possible to use this for the purpose of converting this source code data into a second source program by inputting from the beginning using the programming language converter of the present invention. By adopting such a configuration, the present invention makes it easy to create a complicated source program, a long source program, a source program with many changes from the original source program, and the like. In particular, even those who are familiar with the first programming language or who cannot handle the second programming language can use the programming language conversion device of the present invention to be described in the second programming language. The second source program can be easily created.

次に、本発明におけるプログラミング言語変換の例について、図を参照しつつ説明する。図6は、第一のプログラミング言語がRPGであり、第二のプログラミング言語がJavaである場合に、RPGで記述された「MOVE」命令のプログラミング言語変換について説明する図である。   Next, an example of programming language conversion in the present invention will be described with reference to the drawings. FIG. 6 is a diagram for explaining programming language conversion of a “MOVE” instruction described in RPG when the first programming language is RPG and the second programming language is Java.

変換前のソースプログラムにおける記述、すなわち、第一中間データ、又は、第一のソースコードデータにおける記述は、図6(a)のように、RPGによって「MOVE ‘A99’ RETURNCODE」となっている。この記述は、プログラム命令61(「MOVE」)、定数である左辺62(「‘A99’」)、変数である右辺63(「RETURNCODE」)から構成されている。   The description in the source program before conversion, that is, the description in the first intermediate data or the first source code data is “MOVE 'A99' RETURNCODE” by RPG as shown in FIG. This description is composed of a program instruction 61 (“MOVE”), a left side 62 (“A99”) as a constant, and a right side 63 (“RETURNCODE”) as a variable.

制御部11は、第一中間データを第二中間データに変換する、又は、第一のソースコードデータを第二ソースコードデータに変換する処理を行う。第一中間データ及び第一のソースコードデータは、第一のプログラミング言語で記述されているが、この制御部11の変換処理によって、図6(b)に示すように、RPGとJavaの中間言語のような表現によって「FIELD SET ‘A99’ MOVE→ this.RETURNCODE」という記述からなるデータに変換される。このデータは、処理コマンド64(「FIELD SET」)、左辺62、右辺66(「this.RETURNCODE」)、演算子65(「MOVE→」)から構成される。右辺66には、変数「RETURNCODE」が、この変換処理によってオブジェクト化され置き換えられた部品(選択モジュール)である「この部品」に属していることが記憶されている。処理コマンド64の「FIELD SET」は、左辺62から右辺66への変数の移動を意味している。また、演算子65(「MOVE→」)は、左辺62から右辺66への単純移動を意味している。   The control unit 11 performs processing for converting the first intermediate data into the second intermediate data, or converting the first source code data into the second source code data. The first intermediate data and the first source code data are described in the first programming language. By the conversion process of the control unit 11, as shown in FIG. 6B, the intermediate language between RPG and Java. Is converted to data having a description of “FIELD SET 'A99' MOVE → this.RETURNCODE”. This data includes a processing command 64 (“FIELD SET”), a left side 62, a right side 66 (“this. RETURNCODE”), and an operator 65 (“MOVE →”). The right side 66 stores that the variable “RETURNCODE” belongs to “this part” which is a part (selected module) that has been converted into an object by this conversion process. “FIELD SET” of the processing command 64 means movement of a variable from the left side 62 to the right side 66. An operator 65 (“MOVE →”) means a simple movement from the left side 62 to the right side 66.

この記述に基づき、制御部11は、予めデータベース15に記憶しているプログラム命令変換情報16dを参照し、この情報に基づいて、プログラム命令の変換を行う。この例においては、図6(b)に示された記述を、図6(c)に示されるようなJavaでの記述に変換する。Javaにおいては、左辺62と右辺66が逆になるというルールが予めプログラム命令変換情報16dに記憶されている。次に、左辺62と右辺66の変数型が調べられ、型に最適なソースが構築される。この例においては、左辺62と右辺66とは共にアクセサを使用していない変数であるので、Javaソースは、図6(c)に示すように「returncodeResultBean = “A99”」となる。なお、変数は、Javaのルールに従うように成形される、すなわち、この例においては、アンダースコア区切りをキャメルケース表記とし、変数情報により変数名称に特定の文字を付加するというルールが予め記憶されている。このルールにより、図6(b)の右辺66(「this.RETURNCODE」)は、図6(c)の左辺67(「returncodeResultBean」)に成形され、図6(b)の左辺62(‘A99’)は、図6(c)の右辺68(「“A99”」)に成形される。   Based on this description, the control unit 11 refers to the program instruction conversion information 16d stored in the database 15 in advance, and converts the program instruction based on this information. In this example, the description shown in FIG. 6B is converted into a description in Java as shown in FIG. In Java, a rule that the left side 62 and the right side 66 are reversed is stored in advance in the program instruction conversion information 16d. Next, the variable types of the left side 62 and the right side 66 are examined, and the optimum source for the type is constructed. In this example, since both the left side 62 and the right side 66 are variables that do not use an accessor, the Java source is “returncodeResultBean =“ A99 ”” as shown in FIG. 6C. Note that the variable is shaped so as to follow Java rules. That is, in this example, the rule that the underscore separator is a camel case notation and a specific character is added to the variable name by the variable information is stored in advance. Yes. By this rule, the right side 66 (“this.RETURNCODE”) of FIG. 6B is formed into the left side 67 (“returncodeResultBean”) of FIG. 6C, and the left side 62 (′ A99 ′) of FIG. 6B is formed. ) Is formed on the right side 68 (“A99”) of FIG.

次に、本発明におけるプログラミング言語変換の別の例について、図を参照しつつ説明する。図7は、第一のプログラミング言語がRPGであり、第二のプログラミング言語がJavaである場合に、RPGで記述された「ADD」命令のプログラミング言語変換について説明する図である。   Next, another example of programming language conversion in the present invention will be described with reference to the drawings. FIG. 7 is a diagram illustrating programming language conversion of an “ADD” instruction written in RPG when the first programming language is RPG and the second programming language is Java.

変換前のソースプログラムにおける記述、すなわち、第一中間データ、又は、第一のソースコードデータにおける記述は、図7(a)のように、RPGによって「ADD 1 FLD01」となっている。この記述は、プログラム命令71(「ADD」)、左辺72(「1」)、右辺73(「FLD01」)から構成されている。   The description in the source program before the conversion, that is, the description in the first intermediate data or the first source code data is “ADD 1 FLD01” by RPG as shown in FIG. This description is composed of a program instruction 71 (“ADD”), a left side 72 (“1”), and a right side 73 (“FLD01”).

制御部11は、第一中間データを第二中間データに変換する、又は、第一のソースコードデータを第二ソースコードデータに変換する処理を行う。この制御部11の変換処理によって、図7(b)に示すように、RPGとJavaの中間言語のような表現によって「FIELD SET this.FILE01.FLD01 ADD(加算) 1」という記述からなるデータに変換される。このデータは、処理コマンド74(「FIELD SET」)、左辺76(「this.FILE01.FLD01」)、右辺77、演算子75(「ADD(加算)」)から構成される。左辺76には、変数「FLD01」が、この変換処理によってオブジェクト化され置き換えられた部品(選択モジュール)である「この部品」に属しているエンティティ「FILE01」に属していることが記憶されている。処理コマンド74の「FIELD SET」は、左辺76から右辺77への変数の移動を意味している。また、演算子75(「ADD(加算)」)は、移動方法を意味しており、ここでは移動先を変更し、左辺76へ左辺76の値に右辺77の値を加算した値を移動することを意味している。   The control unit 11 performs processing for converting the first intermediate data into the second intermediate data, or converting the first source code data into the second source code data. By the conversion process of the control unit 11, as shown in FIG. 7B, the data including the description “FIELD SET this. FILE01. FLD01 ADD (addition) 1” is expressed by an intermediate language between RPG and Java. Converted. This data includes a processing command 74 ("FIELD SET"), a left side 76 ("this.FILE01.FLD01"), a right side 77, and an operator 75 ("ADD (addition)"). The left side 76 stores that the variable “FLD01” belongs to the entity “FILE01” that belongs to “this part” which is a part (selected module) that has been converted into an object by this conversion process. . “FIELD SET” of the processing command 74 means movement of a variable from the left side 76 to the right side 77. An operator 75 (“ADD (addition)”) means a movement method. Here, the movement destination is changed, and a value obtained by adding the value of the right side 77 to the value of the left side 76 is moved to the left side 76. It means that.

この記述に基づき、制御部11は、予めデータベース15に記憶しているプログラム命令変換情報16dを参照し、この情報に基づいて、プログラム命令の変換を行う。この例においては、図7(b)に示された記述を、図7(c)に示されるようなJavaでの記述に変換する。この例においては、値を取り出す変数と値を移動する変数が同一で、Entity変数であるので、アクセサが設定される。従って、変数にアクセサが設定され、移動方法に演算子75で指定した四則演算を行うことで、図7(c)に示すようなJavaでの記述に変換する。この変換においては、左辺76と右辺77の変数型が調べられ、右辺77の定数の型に合わせた変数の型変換が行われる。この例においては、右辺77の定数「1」に合わせた型は、BigDecimal型であるので、「BigDecimal.valueOf」を用いた型変換78が行われ、Javaソースは、図7(c)に示すように「file01.setFld01(file01.getFld01().add( BigDecimal.valueOf(1)));」となる。   Based on this description, the control unit 11 refers to the program instruction conversion information 16d stored in the database 15 in advance, and converts the program instruction based on this information. In this example, the description shown in FIG. 7B is converted into a description in Java as shown in FIG. In this example, since the variable for extracting the value and the variable for moving the value are the same and are Entity variables, an accessor is set. Therefore, an accessor is set in the variable, and the arithmetic operation specified by the operator 75 is performed in the movement method, thereby converting into a Java description as shown in FIG. In this conversion, the variable types of the left side 76 and the right side 77 are examined, and variable type conversion is performed in accordance with the constant type of the right side 77. In this example, since the type matched to the constant “1” on the right side 77 is the BigDecimal type, type conversion 78 using “BigDecimal.valueOf” is performed, and the Java source is shown in FIG. Thus, “file01.setFld01 (file01.getFld01 (). Add (BigDecimal.valueOf (1)))” is obtained.

(第2の実施形態)
本発明の第2の実施形態として、System i上で実行される、RPGで記述されたデータベース管理システムを、Javaで記述されたオブジェクト指向型のシステムに変換する例について、説明する。
(Second Embodiment)
As a second embodiment of the present invention, an example of converting a database management system described in RPG, which is executed on System i, to an object-oriented system described in Java will be described.

System i上で実行されるデータベース管理システムは、RPGで記述されたプログラムソース、ディスプレイファイル(DSPF)やプリンターファイル(PRTF)といったファイル、CLプログラム、及び、データベースなどから構成されている。本発明のプログラミング言語変換装置は、これらシステムを構成する要素を解析して、MVCモデル(Modelオブジェクト部・Viewオブジェクト部・Controlオブジェクト部)とData Access Object(以下、DAOと称する)からなる4つのオブジェクト部に分割する。   The database management system executed on System i is composed of a program source described in RPG, a file such as a display file (DSPF) or a printer file (PRTF), a CL program, a database, and the like. The programming language conversion apparatus of the present invention analyzes the elements constituting these systems, and includes four MVC models (Model object part, View object part, Control object part) and Data Access Object (hereinafter referred to as DAO). Divide into object parts.

MVCモデルに基づいた、各オブジェクト部への分割について説明する。RPGで記述されたプログラムソースの内部処理、すなわちビジネスロジック記述部は、MVCモデルのModelオブジェクト部として分割される。DSPFやPRTFといった、表示や出力に関するファイルは、MVCモデルのViewオブジェクト部として分割される。プログラムソースの画面制御に関するプログラム制御記述部と、CLプログラム等の画面制御ロジックとは、MVCモデルのControlオブジェクト部として分割される。また、プログラムソースが参照するデータベースに関するファイルは、DAO(基底部品)として再定義される。   The division into each object part based on the MVC model will be described. The internal processing of the program source described in RPG, that is, the business logic description part is divided as a Model object part of the MVC model. Files related to display and output, such as DSPF and PRTF, are divided as the View object part of the MVC model. The program control description part related to the screen control of the program source and the screen control logic such as the CL program are divided as a Control object part of the MVC model. Further, the file related to the database referred to by the program source is redefined as DAO (base part).

まず、DAOの生成について説明する。本発明のプログラミング言語変換装置には、System iで作成された、データベースを構成するファイルである物理ファイルや論理ファイルが入力される。物理ファイルとは、実際にデータレコードを格納しているデータベースファイルである。一方、論理ファイルとは、1又は複数の物理ファイルに格納されているデータレコードを、RPGで記述されたプログラムに渡す方法を記述したファイルであり、例えば、VSAMでのインデックス又は代替インデックスに相当するものである。入力されたデータベースに関するファイルは、制御部11により解析され、DAO(基底部品)として再定義される。   First, generation of DAO will be described. The programming language conversion apparatus of the present invention receives a physical file or a logical file, which is a file constituting a database, created by System i. A physical file is a database file that actually stores data records. On the other hand, a logical file is a file that describes a method of passing data records stored in one or more physical files to a program described in RPG, and corresponds to, for example, an index in VSAM or an alternative index. Is. The input file related to the database is analyzed by the control unit 11 and redefined as DAO (base part).

この再定義とは、以下のようなものである。データベース15には、物理ファイルや論理ファイルに含まれるキーファイルに対応するモジュール16bと、キーファイルからモジュールを作成する対応関係に関する情報であるモジュール作成情報16gとが、予め記憶されている。制御部11は、入力された物理ファイルや論理ファイルに含まれるキーファイルを特定し、記憶されているこのモジュール作成情報16gを参照して、キーファイルそれぞれに対応するモジュール16bを用いて、DAO(基底部品)であるモジュールをキーファイル毎に作成する。ここで作成されたモジュールは、S2JDBCのエンティティやサービスクラスを内包したData Access Objectクラスで構成される。再定義された基底部品は、本発明によりJavaに変換されたシステムから使用することが可能であり、後述するModelオブジェクト部を構成するモジュールとして利用することができる。   This redefinition is as follows. In the database 15, a module 16 b corresponding to a key file included in a physical file or a logical file, and module creation information 16 g which is information relating to a correspondence relationship for creating a module from the key file are stored in advance. The control unit 11 identifies the key file included in the input physical file or logical file, refers to this stored module creation information 16g, and uses the module 16b corresponding to each key file to use DAO ( A module that is a base component is created for each key file. The module created here is composed of a Data Access Object class including S2JDBC entities and service classes. The redefined base component can be used from a system converted into Java according to the present invention, and can be used as a module that constitutes a Model object section described later.

次に、Viewオブジェクト部の生成について説明する。本発明のプログラミング言語変換装置には、表示装置への表示レイアウトに関するファイルであるDSPFやPRTFが入力される。制御部11は、入力されたこれらのファイルを解析し、レイアウトデータが構築される。このレイアウトデータは、例えば、HTMLなどのデータであり、レコード様式の単位で作成されるため、レコード様式を組み合わせることで、webページの表示レイアウトを作成し、画面ファイルを作成することができる。   Next, generation of the View object part will be described. The programming language conversion apparatus of the present invention receives DSPF and PRTF, which are files related to the display layout on the display device. The control unit 11 analyzes these input files and constructs layout data. This layout data is, for example, data such as HTML, and is created in units of record formats. Therefore, by combining the record formats, a web page display layout can be created and a screen file can be created.

次に、Controlオブジェクト部の生成について説明する。本発明のプログラミング言語変換装置には、プログラムソースと、CLプログラム等が入力され、これらを制御部11が解析し、プログラムソースの画面制御に関するプログラム制御記述部と、画面制御ロジックとからなるControlオブジェクト部が生成される。Controlオブジェクト部は、Viewオブジェクト部により作成された画面ファイルについて、イベントが登録され、そのイベントに対する制御ロジックが登録されている。本発明のプログラミング言語変換装置は、この制御ロジックを、上述したようなプログラム命令の置き換えによって、Javaのソースに変換する。Javaへの変換により、このControlオブジェクト部は、JSP(JavaServer Pages)ファイル、ActionForm、ActionClass、DTO(Data Transfer Object)からなるものとなる。   Next, generation of the Control object part will be described. In the programming language conversion apparatus of the present invention, a program source, a CL program, and the like are input, the control unit 11 analyzes them, and a Control object including a program control description unit related to screen control of the program source and a screen control logic. Parts are generated. In the Control object part, an event is registered for the screen file created by the View object part, and a control logic for the event is registered. The programming language conversion apparatus of the present invention converts this control logic into a Java source by replacing the program instructions as described above. By the conversion to Java, the Control object part is composed of a JSP (Java Server Pages) file, an ActionForm, an ActionClass, and a DTO (Data Transfer Object).

次に、Modelオブジェクト部の生成について説明する。本発明のプログラミング言語変換装置には、RPGで記述されたプログラムソースが入力される。制御部11は、上述したような方法でこれを解析し、ビジネスロジック記述部を分離し、予め用意されているJavaで記述されたモジュールに置き換え、Modelオブジェクト部を生成する。このModelオブジェクト部からは、上述した再定義によって作成されたモジュールも利用することができる。   Next, generation of the Model object portion will be described. A program source written in RPG is input to the programming language conversion apparatus of the present invention. The control unit 11 analyzes this by the method as described above, separates the business logic description unit, replaces it with a module described in Java prepared in advance, and generates a Model object unit. From the Model object part, a module created by the above redefinition can also be used.

本発明のプログラミング言語変換装置は、非オブジェクト指向プログラミング言語で記述されたソースプログラムについて、プログラムの全体構造をオブジェクト指向型に変換し、オブジェクト指向プログラミング言語で記述されたソースプログラムに変換することができる。そのため、単にプログラム命令を逐語変換するようなプログラミング言語変換とは異なり、拡張性・可読性・保守性・再利用性の向上等といった、オブジェクト指向プログラミングを用いることによる利点を十分に享受することができる。   The programming language conversion apparatus of the present invention can convert the entire structure of a source program described in a non-object-oriented programming language into an object-oriented type and convert it into a source program described in an object-oriented programming language. . Therefore, unlike programming language conversion in which program instructions are simply converted verbatim, you can fully enjoy the benefits of using object-oriented programming, such as improved extensibility, readability, maintainability, and reusability. .

また、本発明のプログラミング言語変換装置によれば、非オブジェクト指向プログラミング言語で記述された、既存のシステムやデータベースといった資産を、オブジェクト指向プログラミング言語に書き換えて、新しいハードウェア環境であっても活用することができる。また、オブジェクト指向プログラミング言語への言語変換を大幅に省力化することができるため、例えば、手続き型プログラミング言語を専門に取り扱ってきた技術者であっても、容易にオブジェクト指向型のシステムを構築することができる。   In addition, according to the programming language conversion apparatus of the present invention, assets such as existing systems and databases described in a non-object-oriented programming language can be rewritten into an object-oriented programming language and utilized even in a new hardware environment. be able to. In addition, language conversion to an object-oriented programming language can be greatly saved, so even an engineer who specializes in procedural programming languages can easily construct an object-oriented system. be able to.

また、本発明のプログラミング言語変換装置によれば、システム全体がオブジェクト指向型に変換されるため、仕様書や各業務機能のオブジェクト構造図などのプログラム仕様に関するデータを容易に生成することもできる。   Further, according to the programming language conversion apparatus of the present invention, since the entire system is converted into an object-oriented type, data relating to program specifications such as specifications and object structure diagrams of business functions can be easily generated.

1 プログラミング言語変換装置
11 制御部
12 RAM
13 HDD
14 インターフェイス部
15 データベース
21 表示装置
22 表示画面
23 入力部
DESCRIPTION OF SYMBOLS 1 Programming language converter 11 Control part 12 RAM
13 HDD
14 Interface unit 15 Database 21 Display device 22 Display screen 23 Input unit

Claims (12)

第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換装置であって、
第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、
第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、
第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、
対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、
モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、
第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段
とを備えることを特徴とするプログラミング言語変換装置。
A programming language conversion device for converting a first source program described in a first programming language into a second source program described in a second programming language,
First source program input receiving means for receiving input of the first source program;
A correspondence information storage means for storing in advance a program pattern relating to a program constituting the first source program, a module constituting the second source program, and correspondence information relating to the correspondence between the program pattern and the module;
Analyzing the structure of the first source program received by the first source program input receiving means, and converting the first source program into first intermediate data separated into a program control description part and a business logic description part Conversion means;
Module selection means for selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the correspondence information stored in the correspondence information storage means;
Using the selection module selected by the module selection means, the program of the business logic description part of the first intermediate data is converted into the object to be replaced with the selected module, and the objectified business logic description part, the program control description part, And a second conversion means for converting the first intermediate data into the second intermediate data,
Program instruction replacement information storage means for storing in advance program instruction replacement information related to the correspondence of program instructions for replacing a program instruction described in the first programming language with a program instruction described in the second programming language;
For the second intermediate data generated by the second conversion means, based on the program instruction replacement information stored in the program instruction replacement information storage means, the program instruction of the program control description part described in the first programming language A programming language conversion device comprising: third conversion means for converting the second intermediate data into a second source program in place of a program instruction described in the second programming language.
第三変換手段により変換された第二のソースプログラムに対して、第二のプログラミング言語における構文チェックを行うとともに、第二のソースプログラムをコンパイルして、コンパイルエラーが発生するか否かを検出するコンパイルエラー検出手段とを備え、
コンパイルエラー検出手段により検出されたコンパイルエラーの原因となる第二中間データの記述を修正した後に、修正した第二中間データを第三変換手段が第二のソースプログラムに変換する
ことを特徴とする請求項1に記載のプログラミング言語変換装置。
The second source program converted by the third conversion means is checked for syntax in the second programming language, and the second source program is compiled to detect whether a compile error occurs. Compile error detection means,
After the description of the second intermediate data that causes the compilation error detected by the compile error detection means is corrected, the third conversion means converts the corrected second intermediate data into the second source program. The programming language conversion apparatus according to claim 1.
第二のプログラミング言語がオブジェクト指向プログラミング言語である請求項1又は2に記載のプログラミング言語変換装置。 The programming language conversion apparatus according to claim 1 or 2, wherein the second programming language is an object-oriented programming language. 第一のプログラミング言語が手続き型プログラミング言語である請求項1〜3のいずれかに記載のプログラミング言語変換装置。 The programming language conversion apparatus according to claim 1, wherein the first programming language is a procedural programming language. モジュールの機能を説明する情報であるモジュール説明情報と、プログラム制御記述部のプログラム命令を説明する情報であるプログラム命令説明情報とを予め記憶した仕様データ変換情報記憶手段と、
第二中間データを構成するモジュールを、仕様データ変換情報記憶手段に記憶されたモジュール説明情報に置き換え、第二中間データを構成するプログラム制御記述部のプログラム命令を、仕様データ変換情報記憶手段に記憶されたプログラム命令説明情報に置き換えることにより、第二中間データを第二のソースプログラムの仕様に関する仕様データに変換する第四変換手段
とを備えることを特徴とする請求項1〜4のいずれかに記載のプログラミング言語変換装置。
Specification data conversion information storage means for storing in advance module description information that is information for describing the function of the module and program instruction description information that is information for describing a program instruction of the program control description unit;
The module constituting the second intermediate data is replaced with the module description information stored in the specification data conversion information storage means, and the program instruction of the program control description part constituting the second intermediate data is stored in the specification data conversion information storage means 5. A fourth conversion means for converting the second intermediate data into the specification data related to the specification of the second source program by replacing with the program instruction explanation information. 5. The programming language converter described.
第一変換手段により生成される第一中間データが、MVCモデルに基づいて、
ビジネスロジック記述部からなるModelオブジェクト部と、
プログラム制御記述部からなるControlオブジェクト部
とに分離されたものであることを特徴とする請求項1〜5のいずれかに記載のプログラミング言語変換装置。
The first intermediate data generated by the first conversion means is based on the MVC model,
A Model object part consisting of a business logic description part;
6. The programming language conversion apparatus according to claim 1, wherein the programming language conversion apparatus is separated into a Control object part comprising a program control description part.
第一のソースプログラムがデータベースを参照する場合に、第一のソースプログラムが参照するデータベースを構成する物理ファイル及び論理ファイルの入力を受け付けるデータベースファイル受付手段と、
物理ファイル及び論理ファイルに含まれるキーファイルに対応するモジュールと、キーファイルからモジュールを作成する対応関係に関する情報であるモジュール作成情報とを予め記憶したモジュール作成情報記憶手段とを備え、
モジュール作成情報記憶手段に記憶されたモジュール作成情報に基づいて、データベースファイル受付手段により入力された物理ファイル及び論理ファイルについて、物理ファイル及び論理ファイルに含まれるキーファイル毎にモジュールを作成する
ことを特徴とする請求項1〜6のいずれかに記載のプログラミング言語変換装置。
A database file receiving means for receiving an input of a physical file and a logical file constituting the database referred to by the first source program when the first source program refers to the database;
A module creation information storage means for storing in advance a module corresponding to a key file included in a physical file and a logical file, and module creation information which is information on a correspondence relationship for creating a module from the key file;
Based on the module creation information stored in the module creation information storage means, a module is created for each key file included in the physical file and logical file for the physical file and logical file input by the database file receiving means. A programming language conversion apparatus according to claim 1.
第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置において実行する方法であって、
第一のソースプログラムの入力を受け付けるステップと、
受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換するステップと、
第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶手段に記憶しておき、記憶されていた対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するステップと、
選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換するステップと、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶手段に記憶しておき、記憶されていたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換するステップ
とを有するプログラミング言語変換方法。
A method of executing a programming language conversion in a computer device, converting a first source program described in a first programming language into a second source program described in a second programming language,
Receiving the input of the first source program;
Analyzing the structure of the accepted first source program and converting the first source program into first intermediate data separated into a program control description part and a business logic description part;
The program pattern relating to the program constituting the first source program, the module constituting the second source program, and the correspondence information relating to the correspondence between the program pattern and the module are previously stored in the storage means and stored. Selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the corresponding relationship information,
The selected selection module is used to convert the program of the business logic description part of the first intermediate data into the selection module, and the objectized business logic description part and the program control description part are recombined. Converting the first intermediate data into second intermediate data;
Program instruction replacement information related to the correspondence relationship of program instructions for replacing program instructions described in the first programming language with program instructions described in the second programming language is stored in advance in the storage means. Based on the program instruction replacement information, the program instruction of the program control description unit described in the first programming language is replaced with the program instruction described in the second programming language, and the second intermediate data is replaced with the second intermediate data. A method for converting a programming language, comprising the step of converting into a second source program.
第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置に実行させるプログラムであって、
コンピュータ装置を、
第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、
第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、
第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、
対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、
モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換える対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、
第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段
として機能させる、プログラミング言語変換プログラム。
A program for causing a computer device to execute a programming language conversion for converting a first source program described in a first programming language into a second source program described in a second programming language,
Computer equipment,
First source program input receiving means for receiving input of the first source program;
A correspondence information storage means for storing in advance a program pattern relating to a program constituting the first source program, a module constituting the second source program, and correspondence information relating to the correspondence between the program pattern and the module;
Analyzing the structure of the first source program received by the first source program input receiving means, and converting the first source program into first intermediate data separated into a program control description part and a business logic description part Conversion means;
Module selection means for selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the correspondence information stored in the correspondence information storage means;
Using the selection module selected by the module selection means, the program of the business logic description part of the first intermediate data is converted into the object to be replaced with the selected module, and the objectified business logic description part, the program control description part, And a second conversion means for converting the first intermediate data into the second intermediate data,
Program instruction replacement information storage means for preliminarily storing program instruction replacement information related to a correspondence relationship for replacing a program instruction described in the first programming language with a program instruction described in the second programming language;
For the second intermediate data generated by the second conversion means, based on the program instruction replacement information stored in the program instruction replacement information storage means, the program instruction of the program control description part described in the first programming language A programming language conversion program that functions as third conversion means for converting the second intermediate data into the second source program by replacing with program instructions written in the second programming language.
第一のプログラミング言語により記述された第一のソースプログラムを、第二のプログラミング言語により記述された第二のソースプログラムに変換する、プログラミング言語変換をコンピュータ装置に実行させるプログラムを記録した記録媒体であって、
コンピュータ装置を、
第一のソースプログラムの入力を受け付ける第一ソースプログラム入力受付手段と、
第一のソースプログラムを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、
第一ソースプログラム入力受付手段により受け付けられた第一のソースプログラムの構造を解析し、第一のソースプログラムをプログラム制御記述部とビジネスロジック記述部とに分離した第一中間データに変換する第一変換手段と、
対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一中間データのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、
モジュール選択手段により選択された選択モジュールを用いて、第一中間データの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一中間データを第二中間データに変換する第二変換手段と、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換える対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、
第二変換手段により生成された第二中間データについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二中間データを第二のソースプログラムに変換する第三変換手段
として機能させるプログラムを記録した記録媒体。
A recording medium recording a program for causing a computer device to execute a programming language conversion for converting a first source program written in a first programming language into a second source program written in a second programming language There,
Computer equipment,
First source program input receiving means for receiving input of the first source program;
A correspondence information storage means for storing in advance a program pattern relating to a program constituting the first source program, a module constituting the second source program, and correspondence information relating to the correspondence between the program pattern and the module;
Analyzing the structure of the first source program received by the first source program input receiving means, and converting the first source program into first intermediate data separated into a program control description part and a business logic description part Conversion means;
Module selection means for selecting a module corresponding to the program pattern of the business logic description part of the first intermediate data based on the correspondence information stored in the correspondence information storage means;
Using the selection module selected by the module selection means, the program of the business logic description part of the first intermediate data is converted into the object to be replaced with the selected module, and the objectified business logic description part, the program control description part, And a second conversion means for converting the first intermediate data into the second intermediate data,
Program instruction replacement information storage means for preliminarily storing program instruction replacement information related to a correspondence relationship for replacing a program instruction described in the first programming language with a program instruction described in the second programming language;
For the second intermediate data generated by the second conversion means, based on the program instruction replacement information stored in the program instruction replacement information storage means, the program instruction of the program control description part described in the first programming language A recording medium on which is recorded a program that functions as third conversion means for converting the second intermediate data into the second source program in place of program instructions written in the second programming language.
第一のプログラミング言語により記述された第一のソースコードデータを、第二のプログラミング言語により記述され、且つ、動作が可能な第二のソースプログラムに変換する、プログラミング言語変換装置であって、
第一のソースコードデータが、第一のプログラミング言語により記述され、且つ、動作が可能な第一のソースプログラムを構成するプログラム制御記述部とビジネスロジック記述部を分離したデータ構造を有するものであり、
第一のソースコードデータの入力を受け付ける第一ソースコードデータ入力受付手段と、
第一のソースコードデータを構成するプログラムに関するプログラムパターンと、第二のソースプログラムを構成するモジュールと、プログラムパターンとモジュールとの対応関係に関する対応関係情報とを予め記憶した対応関係情報記憶手段と、
対応関係情報記憶手段に記憶された対応関係情報に基づいて、第一ソースコードデータ入力受付手段により受け付けられた第一ソースコードデータのビジネスロジック記述部のプログラムパターンに対応するモジュールを選択するモジュール選択手段と、
モジュール選択手段により選択された選択モジュールを用いて、第一ソースコードデータ入力受付手段により受け付けられた第一ソースコードデータの該ビジネスロジック記述部のプログラムを該選択モジュールに置き換えるオブジェクト化を行い、オブジェクト化されたビジネスロジック記述部とプログラム制御記述部とを再結合させて、第一ソースコードデータを第二ソースコードデータに変換する第二変換手段と、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、
第二変換手段により生成された第二ソースコードデータについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、第二ソースコードデータを第二のソースプログラムに変換する第三変換手段
とを備えることを特徴とするプログラミング言語変換装置。
A programming language conversion device for converting first source code data described in a first programming language into a second source program described in a second programming language and operable.
The first source code data is described in the first programming language and has a data structure in which the program control description part and the business logic description part constituting the first source program capable of operation are separated. ,
First source code data input receiving means for receiving input of first source code data;
Correspondence relationship information storage means for storing in advance a program pattern relating to a program constituting the first source code data, a module constituting the second source program, and correspondence information relating to the correspondence between the program pattern and the module,
Module selection for selecting a module corresponding to the program pattern of the business logic description part of the first source code data received by the first source code data input receiving means based on the correspondence information stored in the correspondence information storing means Means,
Using the selection module selected by the module selection unit, the object of replacing the program of the business logic description part of the first source code data received by the first source code data input receiving unit with the selected module is converted into an object. A second conversion means for recombining the business logic description section and the program control description section, and converting the first source code data into the second source code data;
Program instruction replacement information storage means for storing in advance program instruction replacement information related to the correspondence of program instructions for replacing a program instruction described in the first programming language with a program instruction described in the second programming language;
The program instruction of the program control description part described in the first programming language based on the program instruction replacement information stored in the program instruction replacement information storage means for the second source code data generated by the second conversion means And a third conversion means for converting the second source code data into the second source program by replacing the above with a program instruction described in the second programming language.
第一のプログラミング言語により記述されたソースコードデータを、第二のプログラミング言語により記述され、且つ、動作が可能な第二のソースプログラムに変換する、プログラミング言語変換装置であって、
ソースコードデータが、第一のプログラミング言語により記述され、且つ、プログラム制御記述部とビジネスロジック記述部から構成されるものであり、さらに、
ビジネスロジック記述部のプログラムの一部が、モジュールに置き換えられることでオブジェクト化されたものであり、
ソースコードデータの入力を受け付けるソースコードデータ入力受付手段と、
第一のプログラミング言語により記述されたプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えるためのプログラム命令の対応関係に関するプログラム命令置換情報を予め記憶したプログラム命令置換情報記憶手段と、
ソースコードデータ入力受付手段により受け付けられたソースコードデータについて、プログラム命令置換情報記憶手段に記憶されたプログラム命令置換情報に基づいて、第一のプログラミング言語により記述された前記プログラム制御記述部のプログラム命令を、第二のプログラミング言語により記述されたプログラム命令に置き換えて、ソースコードデータを第二のソースプログラムに変換する第三変換手段
とを備えることを特徴とするプログラミング言語変換装置。
A programming language conversion device for converting source code data described in a first programming language into a second source program described in a second programming language and operable.
Source code data is described in a first programming language, and is composed of a program control description part and a business logic description part, and
Part of the program in the business logic description part is converted into an object by replacing it with a module.
Source code data input receiving means for receiving input of source code data;
Program instruction replacement information storage means for storing in advance program instruction replacement information related to the correspondence of program instructions for replacing a program instruction described in the first programming language with a program instruction described in the second programming language;
Program instruction of the program control description part described in the first programming language based on the program instruction replacement information stored in the program instruction replacement information storage means for the source code data received by the source code data input receiving means And a third conversion means for converting the source code data into the second source program by replacing with a program instruction described in the second programming language.
JP2013068751A 2013-03-28 2013-03-28 Source program programming language converter Active JP5405684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013068751A JP5405684B1 (en) 2013-03-28 2013-03-28 Source program programming language converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013068751A JP5405684B1 (en) 2013-03-28 2013-03-28 Source program programming language converter

Publications (2)

Publication Number Publication Date
JP5405684B1 true JP5405684B1 (en) 2014-02-05
JP2014191738A JP2014191738A (en) 2014-10-06

Family

ID=50202584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013068751A Active JP5405684B1 (en) 2013-03-28 2013-03-28 Source program programming language converter

Country Status (1)

Country Link
JP (1) JP5405684B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879710A (en) * 2019-07-24 2020-03-13 中信银行股份有限公司 Method for automatically converting RPG program into JAVA program
CN111427578A (en) * 2020-04-15 2020-07-17 赞同科技股份有限公司 Data conversion method, device and equipment
CN113010161A (en) * 2019-12-20 2021-06-22 湖南奥森伯特科技有限公司 View conversion method, view conversion apparatus, and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023135735A1 (en) * 2022-01-14 2023-07-20 三菱電機株式会社 Programming assistance program, programming assistance method, and programming assistance device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314645A (en) * 1987-06-17 1988-12-22 Mitsubishi Electric Corp Translator for program language
JP2004118374A (en) * 2002-09-25 2004-04-15 Keio Gijuku Conversion device, conversion method, conversion program and computer-readable recording medium with conversion program recorded
JP2004362343A (en) * 2003-06-05 2004-12-24 Internatl Business Mach Corp <Ibm> Source code conversion apparatus, source code conversion method, and program
JP2005165584A (en) * 2003-12-02 2005-06-23 Hitachi Software Eng Co Ltd Program creation system and method
JP2007004503A (en) * 2005-06-24 2007-01-11 Mitsubishi Electric Corp Program conversion system, program conversion method and code conversion program
JP2011096083A (en) * 2009-10-30 2011-05-12 Nippon Steel Corp Language converting device, language converting method, and program
JP2011170556A (en) * 2010-02-17 2011-09-01 Nec Software Kyushu Ltd Source program language conversion support apparatus, conversion support method and conversion support program
JP2013050868A (en) * 2011-08-31 2013-03-14 Mitsubishi Electric Corp Information processing apparatus, information processing method and program

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314645A (en) * 1987-06-17 1988-12-22 Mitsubishi Electric Corp Translator for program language
JP2004118374A (en) * 2002-09-25 2004-04-15 Keio Gijuku Conversion device, conversion method, conversion program and computer-readable recording medium with conversion program recorded
JP2004362343A (en) * 2003-06-05 2004-12-24 Internatl Business Mach Corp <Ibm> Source code conversion apparatus, source code conversion method, and program
JP2005165584A (en) * 2003-12-02 2005-06-23 Hitachi Software Eng Co Ltd Program creation system and method
JP2007004503A (en) * 2005-06-24 2007-01-11 Mitsubishi Electric Corp Program conversion system, program conversion method and code conversion program
JP2011096083A (en) * 2009-10-30 2011-05-12 Nippon Steel Corp Language converting device, language converting method, and program
JP2011170556A (en) * 2010-02-17 2011-09-01 Nec Software Kyushu Ltd Source program language conversion support apparatus, conversion support method and conversion support program
JP2013050868A (en) * 2011-08-31 2013-03-14 Mitsubishi Electric Corp Information processing apparatus, information processing method and program

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSNA200702400001; WebSphere Development Studio:ILE RPGプログラマーの手引き バージョン 第1版, 200602, pp.189〜194, 日本アイ・ビー・エム株式会社 *
CSNG200401455006; 梶尾義規、魚田勝臣、永田守男: 'レガシープログラム変換法の実務プログラムへの適用' 情報処理学会研究報告 Vol.2003,No.22, 20030306, pp.47〜53, 社団法人情報処理学会 *
CSNH200600083007; 木村茂樹、千田正一、宇田真奈美: 'TransMigrationサービス' FUJITSU Vol.57,No.1(通巻332号), 20060110, pp.45〜51, 富士通株式会社 *
CSNJ200510023110; 米谷雅樹: 'Visual BasicからJ2EE環境への移行支援ツール' 第66回(平成16年)全国大会講演論文集(1) , 20040309, pp.1-219〜1-220, 社団法人情報処理学会 *
JPN6013030235; 米谷雅樹: 'Visual BasicからJ2EE環境への移行支援ツール' 第66回(平成16年)全国大会講演論文集(1) , 20040309, pp.1-219〜1-220, 社団法人情報処理学会 *
JPN6013030239; 梶尾義規、魚田勝臣、永田守男: 'レガシープログラム変換法の実務プログラムへの適用' 情報処理学会研究報告 Vol.2003,No.22, 20030306, pp.47〜53, 社団法人情報処理学会 *
JPN6013030243; 木村茂樹、千田正一、宇田真奈美: 'TransMigrationサービス' FUJITSU Vol.57,No.1(通巻332号), 20060110, pp.45〜51, 富士通株式会社 *
JPN6013030245; WebSphere Development Studio:ILE RPGプログラマーの手引き バージョン 第1版, 200602, pp.189〜194, 日本アイ・ビー・エム株式会社 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879710A (en) * 2019-07-24 2020-03-13 中信银行股份有限公司 Method for automatically converting RPG program into JAVA program
CN113010161A (en) * 2019-12-20 2021-06-22 湖南奥森伯特科技有限公司 View conversion method, view conversion apparatus, and storage medium
CN111427578A (en) * 2020-04-15 2020-07-17 赞同科技股份有限公司 Data conversion method, device and equipment
CN111427578B (en) * 2020-04-15 2023-08-29 赞同科技股份有限公司 Data conversion method, device and equipment

Also Published As

Publication number Publication date
JP2014191738A (en) 2014-10-06

Similar Documents

Publication Publication Date Title
JP4667386B2 (en) Business model diagram creation support program, business model diagram creation support method, and business model diagram creation support device
US7624380B2 (en) Generating functional test scripts
Lämmel et al. Semi‐automatic grammar recovery
US10169215B2 (en) Method and system for analyzing test cases for automatically generating optimized business models
JP5005510B2 (en) Software design support method, design support apparatus, and design support program
JP5405684B1 (en) Source program programming language converter
US20090327874A1 (en) Validation assisted document conversion design
Strüber et al. Scalability of Model Transformations: Position Paper and Benchmark Set.
US8572551B2 (en) Difference log production for model merging
JP2830354B2 (en) Equivalent data item detection method
WO2010050128A1 (en) Compiling method and compiling program
CN104484156A (en) Editing method for multilingual formula, editing system for multilingual formula and editor for multilingual formula
CN110889574A (en) Uncertainty factor detection device, method and medium for intelligent contract
JP2007226685A (en) Application maintenance support device, application generation device, application maintenance support method and computer program
JP5702265B2 (en) Program automatic generation apparatus and program automatic generation method
JP2011204069A (en) Testing method, and automatic test specification and test data generation apparatus
JP2016042317A (en) Software design support device, and method
JP6748357B2 (en) Analysis device, analysis program, and analysis method
JP2019139675A (en) Source code optimization device, program, and method
Hlad et al. IsiSPL: Toward an Automated Reactive Approach to build Software Product Lines
JP6993284B2 (en) Operation difference information generation device between Web browsers and operation difference information generation method
JPS6284337A (en) Specification information analyzing system
JP5962350B2 (en) Program, information processing apparatus and test method
JP5516277B2 (en) Test case relation extraction method, test case relation extraction device, and test case relation extraction program
JP4663526B2 (en) Form creation support device, form creation support method, and form creation support program

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

R150 Certificate of patent or registration of utility model

Ref document number: 5405684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250