[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4472768B2 - Program analysis apparatus, program analysis method, and program - Google Patents

Program analysis apparatus, program analysis method, and program Download PDF

Info

Publication number
JP4472768B2
JP4472768B2 JP2008241969A JP2008241969A JP4472768B2 JP 4472768 B2 JP4472768 B2 JP 4472768B2 JP 2008241969 A JP2008241969 A JP 2008241969A JP 2008241969 A JP2008241969 A JP 2008241969A JP 4472768 B2 JP4472768 B2 JP 4472768B2
Authority
JP
Japan
Prior art keywords
program
pattern information
analysis
instruction pattern
instruction
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.)
Expired - Lifetime
Application number
JP2008241969A
Other languages
Japanese (ja)
Other versions
JP2009054167A (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 JP2008241969A priority Critical patent/JP4472768B2/en
Publication of JP2009054167A publication Critical patent/JP2009054167A/en
Application granted granted Critical
Publication of JP4472768B2 publication Critical patent/JP4472768B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ある環境で動作していた旧ソースプログラムから他の環境で動作させるための新ソースプログラムを生産するプログラムの生産方法等に関する。   The present invention relates to a method for producing a program for producing a new source program for operating in an other environment from an old source program operating in an environment.

従来、ソースプログラムやスクリプトを自動変換する技術として、コンパイラ差分により発生する記述の違いを自動検出し、自動修正もしくはリストアップして開発作業を向上させる技術があった(特許文献1参照)。本技術は、C言語で記述された原始プログラムを構文解析し、1トークン毎のデータベースと中間ファイルを作成し、データベース上の対象になる文字列を削除・変更し、データベースや中間ファイルの情報をC言語ファイルに生成し、目的プログラムを生成するものである。   Conventionally, as a technique for automatically converting source programs and scripts, there has been a technique for automatically detecting differences in descriptions caused by compiler differences and automatically correcting or listing them to improve development work (see Patent Document 1). This technology parses a source program written in C language, creates a database and an intermediate file for each token, deletes / changes the target character string on the database, and stores information on the database and the intermediate file. The program is generated in a C language file and a target program is generated.

また、第二の従来技術として、特定のコンピュータ上に開発されたプログラム・オブジェクトをもとに、他のコンピュータで実行可能なソフトウェアを自動生成する技術があった(特許文献2参照)。本技術は、与えられたコンピュータ資源のもとで実行可能なオブジェクトコードは、セグメント分割器により、命令コード領域D2とデータコード領域D3に分割される。続いて、命令コード領域D2は、命令コード変換器により、命令セットやOSプリミティブを解析し、高級プログラム言語による命令文に変換される。また、データコード領域D3は、参照している命令コードの種別に応じたデータ型を判別し、データ構文変換器により、高級プログラム言語によるデータ定義文に変換される。さらに、参照領域変換器が、データ定義文に対して、命令文が利用するための参照名を付加し、命令文が参照名を利用する形式に変換して高級言語プログラムを生成するものである。
特開2002−41286(第1頁、図1等) 特開平6−83630(第1頁、図1等)
As a second conventional technique, there is a technique for automatically generating software that can be executed on another computer based on a program object developed on a specific computer (see Patent Document 2). In the present technology, an object code executable under a given computer resource is divided into an instruction code area D2 and a data code area D3 by a segment divider. Subsequently, the instruction code area D2 is converted into an instruction statement in a high-level program language by analyzing an instruction set and an OS primitive by an instruction code converter. In the data code area D3, a data type corresponding to the type of the instruction code being referred to is determined, and is converted into a data definition sentence in a high-level program language by the data syntax converter. Further, the reference area converter adds a reference name to be used by the command statement to the data definition statement, and converts the command statement into a format using the reference name to generate a high-level language program. .
JP 2002-41286 (first page, FIG. 1 etc.) JP-A-6-83630 (first page, FIG. 1 etc.)

しかしながら、上記の特許文献1の技術は、変換対象のソースプログラムが記載されたプログラム言語の仕様が有するすべての命令を自動変換することを前提としている、と考えられる。また、上記の特許文献2の技術は、特定のコンピュータ上におけるすべてのプログラム・オブジェクトを自動変換することを前提としている、と考えられる。つまり、従来技術において、一のプログラムの動作環境を移行するために、一のプログラムを移行後の環境においても効率良く動作させることを考慮していない。従って、従来技術では、変換対象とするソースプログラムのどの命令パターンを自動変換し、どの命令パターンを手作業で行うかが判断できない。従来技術において、一のプログラムを自動変換または半自動変換する自動変換プログラムを開発する場合に、どの命令パターンに対応する自動変換プログラムを開発すべきかが判断できず、効率的に旧ソースプログラムから、高品質な新ソースプログラムを生産できなかった。具体的には、従来技術では、変換対象のプログラムにおいて1度しか出現しない命令パターンも自動変換するプログラムを開発することが前提となっている。   However, it is considered that the technique disclosed in Patent Document 1 is based on the premise that all instructions included in the specification of the program language in which the source program to be converted is described are automatically converted. In addition, it is considered that the technique disclosed in Patent Document 2 is based on the premise that all program objects on a specific computer are automatically converted. That is, in the prior art, in order to shift the operating environment of one program, it is not considered to efficiently operate the one program in the environment after the migration. Therefore, in the prior art, it is impossible to determine which instruction pattern of the source program to be converted is automatically converted and which instruction pattern is manually performed. In the prior art, when developing an automatic conversion program that automatically or semi-automatically converts a single program, it is impossible to determine which instruction pattern should be developed. A new quality source program could not be produced. Specifically, the prior art is premised on developing a program that automatically converts an instruction pattern that appears only once in a program to be converted.

上記の課題を解決するために、旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上、記憶部に格納しており、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを、解析手段を用いて解析する解析ステップと、前記解析ステップにおける解析結果を、出力手段を用いて出力する解析結果出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように、変換手段を用いて変換する命令パターン変換ステップと、前記命令パターン変換ステップにおいて前記旧ソースプログラムを変換した結果である新ソースプログラムを、出力手段を用いて出力する新プログラム出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する、入力手段を用いた入力を受け付けるステップを具備する、ある環境で動作していた旧ソースプログラムから、他の環境で動作させるための新ソースプログラムを生産するプログラムの生産方法により、効率的に不具合が少ないソースプログラムを生産できる。かかるソースプログラムの生産方法は、旧環境で動作していた旧ソースプログラムから、新しい環境で動作させるための高品質な新ソースプログラムを効率的に生産するプログラムの生産方法である。   In order to solve the above problem, one or more pairs of first instruction pattern information, which is information indicating an instruction pattern of an old source program, and second instruction pattern information, which is information indicating an instruction pattern of a new source program, are stored in a storage unit And an analysis step for analyzing how many times the one or more first command pattern information appears in the old source program using an analysis means, and an analysis result in the analysis step as an output means. The analysis result output step used for output corresponds to the first command pattern information analyzed that the number of appearances of the first command pattern information is a predetermined number of times (the predetermined number is 2 or more) in the analysis step. Use conversion means so that the description part of the old source program corresponds to the second instruction pattern information paired with the first instruction pattern information. An instruction pattern converting step for converting the old source program in the instruction pattern converting step, a new program output step for outputting using the output means, and a first instruction in the analyzing step. With respect to the description portion of the old source program corresponding to the first command pattern information analyzed that the number of occurrences of the pattern information is less than the predetermined number of times, the description portion of the old source program is manually replaced by the new source program. The method of producing a new source program for operating in another environment from an old source program operating in one environment, comprising the step of accepting input using an input means A source program with fewer defects can be produced. The source program production method is a program production method for efficiently producing a high-quality new source program for operating in a new environment from an old source program operating in the old environment.

また、旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上、格納している命令パターン対応情報格納部と、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを解析する解析部と、前記解析部における解析結果を出力する解析結果出力部と、前記解析部において第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように変換する命令パターン変換部と、前記命令パターン変換部において前記旧ソースプログラムを変換した結果である新ソースプログラムを出力する新プログラム出力部と、前記解析部において第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による、当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する入力を受け付ける入力受付部を具備する、ある環境で動作していた旧ソースプログラムから他の環境で動作させるための新ソースプログラムを生産するプログラムの生産装置であり、かかる生産装置により、旧環境で動作していた旧ソースプログラムから、新しい環境で動作させるための高品質な新ソースプログラムを効率的に生産できる。
さらに、上記新プログラム出力部は、新ソースプログラムの中で、命令パターン変換部が変換した箇所と変換していない箇所を視覚的に区別して出力することが好ましい。
In addition, one or more pairs of first instruction pattern information, which is information indicating the instruction pattern of the old source program, and second instruction pattern information, which is information indicating the instruction pattern of the new source program, are stored. An analysis unit that analyzes how many times the one or more first command pattern information appears in the old source program, an analysis result output unit that outputs an analysis result in the analysis unit, and The description location of the old source program corresponding to the first instruction pattern information analyzed that the number of appearances of one instruction pattern information is equal to or greater than a predetermined number (the predetermined number is 2 or more) is the first instruction pattern information. An instruction pattern conversion unit for converting the second instruction pattern information to be paired, and the old source program in the instruction pattern conversion unit; A new program output unit that outputs a new source program that is a result of converting the ram, and the first command pattern information analyzed by the analysis unit that the number of times the first command pattern information appears is less than the predetermined number of times An old source program that was operating in a certain environment, having an input receiving unit that accepts an input for changing the description portion of the old source program to the new source program manually by the user with respect to the description portion of the old source program This is a production device for a program that produces a new source program to be operated in another environment. By using this production device, a high-quality new program for operating in the new environment from the old source program that was operating in the old environment. The source program can be produced efficiently.
Furthermore, it is preferable that the new program output unit visually outputs a portion of the new source program that has been converted by the instruction pattern conversion unit and a portion that has not been converted.

本発明によれば、旧環境で動作していた旧ソースプログラムから、新しい環境で動作させるための高品質な新ソースプログラムを効率的に生産できる。   According to the present invention, a high-quality new source program for operating in a new environment can be efficiently produced from an old source program operating in the old environment.

以下、本発明のプログラム解析装置およびプログラム自動変換装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
Hereinafter, embodiments of a program analysis device, a program automatic conversion device, and the like of the present invention will be described with reference to the drawings. In addition, since the component which attached | subjected the same code | symbol in embodiment performs the same operation | movement, description may be abbreviate | omitted again.
(Embodiment 1)

図1は、プログラム解析装置のブロック図を示す。プログラム解析装置は、命令パターン情報格納部101、プログラム格納部102、解析部103、解析結果出力部104を有する。プログラム解析装置は、例えば、MPUやメモリやハードディスクなどを備えたパーソナルコンピュータである。   FIG. 1 shows a block diagram of the program analysis apparatus. The program analysis apparatus includes an instruction pattern information storage unit 101, a program storage unit 102, an analysis unit 103, and an analysis result output unit 104. The program analysis device is, for example, a personal computer that includes an MPU, a memory, a hard disk, and the like.

命令パターン情報格納部101は、プログラムの命令パターンを示す情報である命令パターン情報を1以上格納している。命令パターン情報格納部101は、不揮発性の記録媒体、または揮発性の記録媒体でも実現可能である。   The instruction pattern information storage unit 101 stores one or more instruction pattern information that is information indicating an instruction pattern of a program. The command pattern information storage unit 101 can be realized by a non-volatile recording medium or a volatile recording medium.

プログラム格納部102は、プログラムを格納している。プログラム格納部102は、不揮発性の記録媒体、または揮発性の記録媒体でも実現可能である。プログラムとは、ソースプログラムであり、その言語は問わない。プログラムは、いわゆるスクリプトと言われるHTML、XMLなども含む。また、プログラムは、手続き型のプログラム、宣言型のプログラム等問わない、また、プログラムは、プログラムが動作するためのデータ群(ヘッダーファイルなど)も含む。   The program storage unit 102 stores a program. The program storage unit 102 can be realized by a non-volatile recording medium or a volatile recording medium. A program is a source program, and its language is not limited. The program includes HTML, XML, etc., which are so-called scripts. The program may be a procedural program, a declarative program, or the like, and the program includes a data group (header file or the like) for operating the program.

解析部103は、プログラム格納部102に格納されているプログラムにおいて、1以上の命令パターン情報が何回出現するかを解析する。解析部103は、通常、MPUやメモリ等から実現され得る。解析部103が解析するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。   The analysis unit 103 analyzes how many times one or more instruction pattern information appears in the program stored in the program storage unit 102. The analysis unit 103 can usually be realized by an MPU, a memory, or the like. The processing procedure for analysis by the analysis unit 103 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).

解析結果出力部104は、解析部103における解析結果を出力する。出力とは、通常、ディスプレイへの表示をいうが、プリンタへの印字、他の装置への送信なども含む。また、出力とは、ハードディスクなどの記録媒体への蓄積も含む概念である。また、解析結果出力部104は、出力ディスプレイや記録媒体等を含むと考えても含まないと考えても良い。解析結果出力部104は、例えば、出力デバイスのドライバーソフト等で実現され得る。
以下、本プログラム解析装置の動作について図2のフローチャートを用いて説明する。
The analysis result output unit 104 outputs the analysis result in the analysis unit 103. Output usually means display on a display, but includes printing on a printer, transmission to another apparatus, and the like. The output is a concept including accumulation in a recording medium such as a hard disk. Further, the analysis result output unit 104 may be considered as including or not including an output display or a recording medium. The analysis result output unit 104 can be realized by, for example, driver software for an output device.
The operation of the program analysis apparatus will be described below using the flowchart of FIG.

(ステップS201)解析部103は、プログラム格納部102のプログラムを読み込む。このプログラムは、解析対象のプログラムである。プログラム格納部102に複数のプログラムが格納されている場合、例えば、解析部103は、ユーザが指示したプログラムを読み込む。
(ステップS202)解析部103は、命令パターン情報格納部101に格納されている1以上の命令パターン情報を読み込む。
(Step S <b> 201) The analysis unit 103 reads a program in the program storage unit 102. This program is a program to be analyzed. When a plurality of programs are stored in the program storage unit 102, for example, the analysis unit 103 reads a program instructed by the user.
(Step S202) The analysis unit 103 reads one or more command pattern information stored in the command pattern information storage unit 101.

(ステップS203)解析部103は、命令パターン情報の出現回数である命令パターン出現回数をすべて0にする。なお、すべての命令パターン情報に対応する命令パターン出現回数は、例えば、解析部103が保持しているメモリに記憶されている。   (Step S203) The analysis unit 103 sets all the command pattern appearance counts, which are the command pattern information appearance counts, to zero. Note that the number of command pattern appearances corresponding to all command pattern information is stored in, for example, a memory held by the analysis unit 103.

(ステップS204)解析部103は、カウンタiに1を代入する。このカウンタは、ステップS201で読み込んだプログラムのプログラムカウンタである。つまり、解析部103は、ステップS201で読み込んだプログラムのi番目の行を以下の処理により解析する。なお、ここでは、プログラムは、1行1命令パターンのプログラムである、とする。   (Step S204) The analysis unit 103 substitutes 1 for a counter i. This counter is a program counter of the program read in step S201. That is, the analysis unit 103 analyzes the i-th line of the program read in step S201 by the following process. Here, it is assumed that the program is a program with one instruction pattern per line.

(ステップS205)解析部103は、ステップS201で読み込んだプログラムにおいて、i番目のプログラムソース行が存在するか否かを判断する。i番目のプログラムソース行が存在すればステップS206に行き、i番目のプログラムソース行が存在しなければステップS213に飛ぶ。   (Step S205) The analysis unit 103 determines whether or not the i-th program source line exists in the program read in step S201. If the i-th program source line exists, the process goes to step S206, and if the i-th program source line does not exist, the process jumps to step S213.

(ステップS206)解析部103は、カウンタjに1を代入する。カウンタjは、ステップS202で読み込んだ1以上の命令パターン情報のうち、解析に利用する命令パターン情報を取得するためのカウンタである。   (Step S206) The analysis unit 103 substitutes 1 for a counter j. The counter j is a counter for acquiring command pattern information used for analysis among the one or more command pattern information read in step S202.

(ステップS207)解析部103は、i番目のプログラムソース行は、j番目の命令パターン情報に対応する命令パターンの行であるか否かを判断する。i番目のプログラムソース行がj番目の命令パターンであればステップS208に行き、j番目の命令パターンでなければステップS210に飛ぶ。i番目のプログラムソース行がj番目の命令パターン情報に対応するか否かの判断は、構文解析、字句解析等で可能であり、既存技術であるので、ここでの詳細な説明は省略する。
(ステップS208)解析部103は、j番目の命令パターン情報に対応する命令パターン出現回数を1インクリメントする。
(ステップS209)解析部103は、iをインクリメントする。ステップS205に戻る。
(ステップS210)解析部103は、jをインクリメントする。
(Step S207) The analysis unit 103 determines whether or not the i-th program source line is an instruction pattern line corresponding to the j-th instruction pattern information. If the i-th program source line is the j-th instruction pattern, the process goes to step S208, and if it is not the j-th instruction pattern, the process jumps to step S210. Whether or not the i-th program source line corresponds to the j-th instruction pattern information can be determined by syntax analysis, lexical analysis, or the like, and is an existing technology, and thus detailed description thereof is omitted here.
(Step S208) The analysis unit 103 increments the instruction pattern appearance count corresponding to the j-th instruction pattern information by one.
(Step S209) The analysis unit 103 increments i. The process returns to step S205.
(Step S210) The analysis unit 103 increments j.

(ステップS211)解析部103は、j番目の命令パターンが、命令パターン情報格納部101に存在するか否かを判断する。j番目の命令パターンが存在すればステップS207に戻り、j番目の命令パターンが存在しなければステップS212に行く。
(ステップS212)解析部103は、「どの命令パターンにも該当しない旨」のエラー出力をする。但し、このエラー出力処理はなくても良い。
(ステップS213)解析結果出力部104は、解析結果を出力する。解析結果とは、各命令パターン情報の命令パターン出現回数である。
(Step S211) The analysis unit 103 determines whether or not the j-th command pattern exists in the command pattern information storage unit 101. If the jth instruction pattern exists, the process returns to step S207, and if the jth instruction pattern does not exist, the process goes to step S212.
(Step S212) The analysis unit 103 outputs an error message “not applicable to any command pattern”. However, this error output process may not be performed.
(Step S213) The analysis result output unit 104 outputs an analysis result. The analysis result is the number of times an instruction pattern appears in each instruction pattern information.

以下、本実施の形態におけるプログラム解析装置等の具体的な動作について説明する。図3は、命令パターン情報格納部101が保持している命令パターン情報管理表である。命令パターン情報管理表は、「ID」「命令パターン情報」を有するレコードを複数格納している。「ID」はレコードを識別する情報であり、表管理上利用される情報である。「命令パターン情報」は、命令パターン情報を格納する属性である。   Hereinafter, specific operations of the program analysis apparatus and the like in the present embodiment will be described. FIG. 3 is an instruction pattern information management table held by the instruction pattern information storage unit 101. The command pattern information management table stores a plurality of records having “ID” and “command pattern information”. “ID” is information for identifying a record, and is information used for table management. “Instruction pattern information” is an attribute for storing instruction pattern information.

また、図4は、解析部103が保持している命令パターン出現回数管理表である。命令パターン出現回数管理表は、「ID」「出現回数」を有するレコードを1以上有する。「ID」は、図3の命令パターン情報管理表の「ID」に対応している。「出現回数」は、命令パターンの出現回数を示す。「出現回数」の初期値は、すべて「0」である。   FIG. 4 is a command pattern appearance count management table held by the analysis unit 103. The command pattern appearance count management table has one or more records having “ID” and “appearance count”. “ID” corresponds to “ID” in the command pattern information management table of FIG. “Number of appearances” indicates the number of appearances of the command pattern. The initial values of “number of appearances” are all “0”.

図5は、プログラム格納部102に格納されているプログラムの例である。プログラム解析装置は、ユーザの指示により、図5のプログラムの解析を開始する。図5のプログラムにおいて「*」で始まる行はコメント行である。なお、プログラム解析装置は、コメント行であることを判断した後の解析は行わない。   FIG. 5 is an example of a program stored in the program storage unit 102. The program analysis apparatus starts analyzing the program shown in FIG. 5 according to a user instruction. In the program of FIG. 5, the line starting with “*” is a comment line. Note that the program analysis apparatus does not perform analysis after determining that the line is a comment line.

解析部103は、まず、図5のプログラムの1行目を読み込む。1行目はコメント行であるので、次の行に移る(プログラムカウンタを進める)。解析部103は、2行目から8行目までもコメント行であるので、解析は行わない。   The analysis unit 103 first reads the first line of the program in FIG. Since the first line is a comment line, the next line is advanced (the program counter is advanced). The analysis unit 103 does not perform analysis because the second to eighth lines are also comment lines.

次に、解析部103は、プログラムの9行目「IDENTIFICATION DIVISION.」を読み込む。解析部103は、プログラムの9行目は、図3の命令パターン情報管理表の「ID=1」の命令パターン情報に対応する、と判断する。そして、解析部103は、図4の命令パターン出現回数管理表の「ID」=「1」のレコードの「出現回数」の値を1インクリメントする。その結果が、図6の命令パターン出現回数管理表である。   Next, the analysis unit 103 reads “IDENTIFICATION DIVISION.” On the ninth line of the program. The analysis unit 103 determines that the ninth line of the program corresponds to the instruction pattern information of “ID = 1” in the instruction pattern information management table of FIG. Then, the analysis unit 103 increments the value of “number of appearances” in the record of “ID” = “1” in the command pattern appearance number management table of FIG. The result is the command pattern appearance count management table of FIG.

次に、解析部103は、プログラムの10行目「PROGRAM−ID. PSD712.」を読み込む。解析部103は、プログラムの10行目は、図3の命令パターン情報管理表の「ID=2」の命令パターン情報に対応する、と判断する。なお、図3の命令パターン情報管理表の「変数01」「変数02」などは、変数を意味する。プログラムにおいて、変数は、英数字の文字列で構成される。ここでは、「PSD712」は変数である。そして、解析部103は、図6の命令パターン出現回数管理表の「ID」=「2」の「出現回数」の値を1インクリメントする。
以上のような処理を、図5のプログラムのすべての行に対して行う。そして、図7に示す命令パターン出現回数管理表を得る。
Next, the analysis unit 103 reads “PROGRAM-ID. PSD712” on the 10th line of the program. The analysis unit 103 determines that the 10th line of the program corresponds to the instruction pattern information of “ID = 2” in the instruction pattern information management table of FIG. Note that “variable 01”, “variable 02”, and the like in the instruction pattern information management table of FIG. 3 mean variables. In the program, the variable is composed of an alphanumeric character string. Here, “PSD712” is a variable. Then, the analysis unit 103 increments the value of “number of appearances” of “ID” = “2” in the command pattern appearance number management table of FIG.
The above processing is performed for all the lines of the program shown in FIG. Then, the command pattern appearance count management table shown in FIG. 7 is obtained.

次に、解析結果出力部104は、図8に示すような解析結果を出力する。解析結果は、「ID」「回数」「命令パターン」を有する。「回数」は出現回数である。また、図8の解析結果は、図3の命令パターン情報管理表と、図7の命令パターン出現回数管理表から構成される。具体的には、図8の解析結果は、図3の命令パターン情報管理表の「ID」と、図7の命令パターン出現回数管理表「ID」をキーとして、結合演算され、出力された結果である。   Next, the analysis result output unit 104 outputs an analysis result as shown in FIG. The analysis result has “ID”, “number of times”, and “command pattern”. “Number of times” is the number of appearances. 8 includes the instruction pattern information management table of FIG. 3 and the instruction pattern appearance count management table of FIG. Specifically, the analysis result of FIG. 8 is a result obtained by performing a join operation using “ID” of the instruction pattern information management table of FIG. 3 and the instruction pattern appearance count management table “ID” of FIG. It is.

以上、本実施の形態によれば、変換対象とするソースプログラムが含む命令パターンの解析が可能となり、その結果、効率的にソースプログラムを変換する自動変換プログラムを開発できる。なお、本実施の形態における解析結果を受けて、プログラムを自動変換する処理については、実施の形態2以降で述べる。   As described above, according to this embodiment, it is possible to analyze an instruction pattern included in a source program to be converted, and as a result, an automatic conversion program that efficiently converts the source program can be developed. The process of automatically converting a program in response to the analysis result in the present embodiment will be described in the second and subsequent embodiments.

なお、本実施の形態において、ある一定以上の回数が出現する命令パターンを他の命令パターンと視覚的に区別して表示しても良い。かかる場合、例えば、図9に示すような解析結果が表示される。図9によれば、3回以上出現する命令パターンを他の命令パターンと視覚的に区別して表示している。なお、一定以上の回数が出現する命令パターンを他の命令パターンと視覚的に区別して表示する態様は、図9における態様に限らず、何でも良い。   In the present embodiment, an instruction pattern in which a certain number of times or more appears may be visually distinguished from other instruction patterns. In such a case, for example, an analysis result as shown in FIG. 9 is displayed. According to FIG. 9, an instruction pattern that appears three or more times is visually distinguished from other instruction patterns. Note that an aspect in which an instruction pattern that appears a certain number of times or more is visually distinguished from other instruction patterns and displayed is not limited to the aspect in FIG. 9 and may be anything.

また、本実施の形態において説明した動作は、コンピュータ読み取り可能なプログラムで実現しても良い。当該プログラムは、CD−ROMなどの記録媒体に記録されて流布しても良いし、ネットワーク配信により流布しても良いし、放送で流布しても良い。かかることも、他の実施の形態においても同様である。なお、本実施の形態において説明した動作を実現するプログラムは、コンピュータに、プログラムの命令パターンを示す情報である命令パターン情報を1以上格納しており、プログラムにおいて、1以上の命令パターン情報が何回出現するかを解析する解析ステップと、解析ステップにおける解析結果を出力する解析結果出力ステップを実行させるためのプログラム、である。   The operations described in this embodiment may be realized by a computer-readable program. The program may be recorded and distributed on a recording medium such as a CD-ROM, may be distributed by network distribution, or may be distributed by broadcasting. This also applies to other embodiments. Note that a program that realizes the operation described in the present embodiment stores one or more instruction pattern information, which is information indicating an instruction pattern of the program, in the computer. What is the one or more instruction pattern information in the program? This is a program for executing an analysis step for analyzing whether or not it appears once and an analysis result output step for outputting an analysis result in the analysis step.

さらに、本実施の形態において、一のプログラム解析装置でプログラムの解析を行ったが、複数の装置で処理を分担しても良い。つまり、プログラムの命令パターンを示す情報である命令パターン情報を1以上格納しており、プログラムにおいて、1以上の命令パターン情報が何回出現するかを解析する解析ステップと、解析ステップにおける解析結果を出力する解析結果出力ステップを具備するプログラム解析方法により、1以上の装置を用いてプログラムが解析できれば、上述した効果を奏することとなる。
(実施の形態2)
Furthermore, in the present embodiment, the program is analyzed by one program analysis device, but the processing may be shared by a plurality of devices. That is, one or more instruction pattern information, which is information indicating the instruction pattern of the program, is stored, an analysis step for analyzing how many times the one or more instruction pattern information appears in the program, and an analysis result in the analysis step If the program can be analyzed using one or more apparatuses by the program analysis method including the output analysis result output step, the above-described effects can be obtained.
(Embodiment 2)

図10は、プログラム自動変換装置のブロック図を示す。プログラム自動変換装置は、命令パターン対応情報格納部1001、プログラム格納部102、解析部103、条件格納部1002、命令パターン変換部1003、新プログラム出力部1004を具備する。プログラム自動変換装置は、例えば、MPUやメモリやハードディスクなどを備えたパーソナルコンピュータである。   FIG. 10 is a block diagram of the automatic program conversion apparatus. The automatic program conversion apparatus includes an instruction pattern correspondence information storage unit 1001, a program storage unit 102, an analysis unit 103, a condition storage unit 1002, an instruction pattern conversion unit 1003, and a new program output unit 1004. The automatic program conversion device is, for example, a personal computer including an MPU, a memory, a hard disk, and the like.

命令パターン対応情報格納部1001は、旧プログラム(変換対象のプログラム)の命令パターンを示す情報である第一命令パターン情報と新プログラム(変換後のプログラム)の命令パターンを示す情報である第二命令パターン情報の対を1以上格納している。命令パターン対応情報格納部1001は、不揮発性の記録媒体、または揮発性の記録媒体でも実現可能である。   The instruction pattern correspondence information storage unit 1001 includes first instruction pattern information that is information indicating an instruction pattern of an old program (conversion target program) and second instruction that is information indicating an instruction pattern of a new program (converted program). One or more pairs of pattern information are stored. The instruction pattern correspondence information storage unit 1001 can be realized by a non-volatile recording medium or a volatile recording medium.

条件格納部1002は、第一命令パターン情報に対応する旧プログラムの一部を第二命令パターン情報に対応するように自動変換する条件を格納している。条件格納部1002は、不揮発性の記録媒体、または揮発性の記録媒体でも実現可能である。条件は、命令パターン変換部1003が行う処理を実現するプログラム中に埋め込まれている(ヘッダーファイルなどに定義されている場合も含む)場合が多い。なお、条件は、解析部103の解析結果に基づく条件である。   The condition storage unit 1002 stores a condition for automatically converting a part of the old program corresponding to the first command pattern information so as to correspond to the second command pattern information. The condition storage unit 1002 can be realized by a non-volatile recording medium or a volatile recording medium. The condition is often embedded in a program that implements the processing performed by the instruction pattern conversion unit 1003 (including the case defined in the header file). The conditions are conditions based on the analysis result of the analysis unit 103.

命令パターン変換部1003は、プログラム格納部102に格納されているプログラム(旧プログラム)に対して、条件格納部1002に格納されている条件に合致する第一命令パターン情報に対応する旧プログラムの一部を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように変換する処理を行う。命令パターン変換部1003は、通常、MPUやメモリ等から実現され得る。命令パターン変換部1003が情報を変換するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。   The instruction pattern conversion unit 1003 is one of the old programs corresponding to the first command pattern information that matches the condition stored in the condition storage unit 1002 with respect to the program (old program) stored in the program storage unit 102. The section is converted so as to correspond to the second command pattern information paired with the first command pattern information. The command pattern conversion unit 1003 can usually be realized by an MPU, a memory, or the like. The processing procedure for the command pattern conversion unit 1003 to convert information is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).

新プログラム出力部1004は、命令パターン変換部1003がプログラムを変換した結果である新プログラムを出力する。出力とは、通常、ディスプレイへの表示をいうが、プリンタへの印字、他の装置への送信、記録媒体(ハードディスク、デジタル多目的ディスクなど)への蓄積なども含む。また、新プログラム出力部1004は、出力ディスプレイや記録媒体を含むと考えても含まないと考えても良い。新プログラム出力部1004は、例えば、出力デバイスのドライバーソフト等で実現され得る。
以下、本プログラム自動変換装置の動作について図11のフローチャートを用いて説明する。
The new program output unit 1004 outputs a new program that is the result of the instruction pattern conversion unit 1003 converting the program. Output usually means display on a display, but includes printing on a printer, transmission to another apparatus, storage on a recording medium (hard disk, digital multipurpose disk, etc.), and the like. Further, the new program output unit 1004 may be considered as including or not including an output display or a recording medium. The new program output unit 1004 can be realized by output device driver software, for example.
Hereinafter, the operation of the automatic program conversion apparatus will be described with reference to the flowchart of FIG.

(ステップS1101)プログラム解析ルーチンを実行する。本プログラム解析ルーチンは、図2のフローチャートを用いて説明したプログラムの解析処理であり、変換対象のプログラムである旧プログラム中における、命令パターンごとの出現回数を出力する。   (Step S1101) A program analysis routine is executed. This program analysis routine is the program analysis process described with reference to the flowchart of FIG. 2, and outputs the number of appearances for each instruction pattern in the old program that is the program to be converted.

(ステップS1102)命令パターン変換部1003は、プログラム格納部102のプログラムを読み込む。プログラム格納部102に2以上のプログラムが存在する場合は、例えば、命令パターン変換部1003は、ユーザが指示したプログラムを読み込む。
(ステップS1103)命令パターン変換部1003は、命令パターン対応情報格納部1001が保持している1以上の第一命令パターン情報を読み込む。
(Step S1102) The instruction pattern conversion unit 1003 reads the program in the program storage unit 102. When there are two or more programs in the program storage unit 102, for example, the command pattern conversion unit 1003 reads a program instructed by the user.
(Step S1103) The command pattern conversion unit 1003 reads one or more first command pattern information held by the command pattern correspondence information storage unit 1001.

(ステップS1104)命令パターン変換部1003は、カウンタiに1を代入する。このカウンタは、ステップS1102で読み込んだプログラムのプログラムカウンタである。つまり、命令パターン変換部1003は、ステップS1102で読み込んだプログラムのi番目の行を以下の処理により変換する。なお、ここでは、プログラムは、1行1命令パターンのプログラムである、とする。   (Step S1104) The instruction pattern conversion unit 1003 substitutes 1 for the counter i. This counter is a program counter of the program read in step S1102. That is, the instruction pattern conversion unit 1003 converts the i-th line of the program read in step S1102 by the following process. Here, it is assumed that the program is a program with one instruction pattern per line.

(ステップS1105)命令パターン変換部1003は、ステップS1102で読み込んだプログラムにおいて、i行目のプログラムソースが存在するか否かを判断する。i行目のプログラムソースが存在すればステップS1106に行き、i行目のプログラムソースが存在しなければステップS1116に飛ぶ。   (Step S1105) The instruction pattern conversion unit 1003 determines whether or not the i-th line program source exists in the program read in step S1102. If the i-th program source exists, the process goes to step S1106, and if the i-th program source does not exist, the process jumps to step S1116.

(ステップS1106)命令パターン変換部1003は、カウンタjに1を代入する。カウンタjは、ステップS1103で読み込んだ1以上の第一命令パターン情報のうち、変換に利用する第一命令パターン情報を取得するためのカウンタである。   (Step S1106) The instruction pattern conversion unit 1003 substitutes 1 for a counter j. The counter j is a counter for acquiring first command pattern information used for conversion among the one or more first command pattern information read in step S1103.

(ステップS1107)命令パターン変換部1003は、i行目のプログラムソースは、j番目の第一命令パターン情報に対応するか否かを判断する。j番目の第一命令パターン情報に対応すればステップS1108に行き、j番目の第一命令パターン情報に対応しなければステップS1113に飛ぶ。なお、i行目のプログラムソースがj番目の第一命令パターン情報に対応するか否かは、i行目のプログラムソースの構文解析、字句解析により可能である。   (Step S1107) The instruction pattern conversion unit 1003 determines whether or not the i-th program source corresponds to the j-th first instruction pattern information. If it corresponds to the j-th first command pattern information, the process goes to Step S1108, and if it does not correspond to the j-th first command pattern information, the process jumps to Step S1113. Whether the program source on the i-th line corresponds to the j-th first instruction pattern information can be determined by syntax analysis and lexical analysis of the program source on the i-th line.

(ステップS1108)命令パターン変換部1003は、j番目の第一命令パターン情報が条件格納部1002の条件に合致するか否かを、ステップS1101のプログラム解析ルーチンの解析結果に基づいて決定する。j番目の第一命令パターン情報が条件に合致すればステップS1109に行き、j番目の第一命令パターン情報が条件に合致しなければステップS1115に飛ぶ。
(ステップS1109)命令パターン変換部1003は、j番目の第一命令パターン情報と対になる第二命令パターン情報を、命令パターン対応情報格納部1001から取得する。
(ステップS1110)命令パターン変換部1003は、i行目のプログラムソースを、ステップS1109で取得した第二命令パターン情報が示す命令パターンに変換する。
(Step S1108) The instruction pattern conversion unit 1003 determines whether or not the j-th first instruction pattern information matches the condition of the condition storage unit 1002 based on the analysis result of the program analysis routine of step S1101. If the j-th first command pattern information matches the condition, the process proceeds to step S1109, and if the j-th first command pattern information does not match the condition, the process jumps to step S1115.
(Step S 1109) The instruction pattern conversion unit 1003 acquires second instruction pattern information paired with the j-th first instruction pattern information from the instruction pattern correspondence information storage unit 1001.
(Step S1110) The instruction pattern conversion unit 1003 converts the program source in the i-th row into an instruction pattern indicated by the second instruction pattern information acquired in step S1109.

(ステップS1111)命令パターン変換部1003は、ステップS1110で変換したi行目のソースを新プログラムに追加する。なお、新プログラムは、例えば、あるファイルに格納され、初期化段階(図示しない)でファイル生成とファイルオープンがされている、とする。
(ステップS1112)カウンタiをインクリメントする。ステップS1105に戻る。
(ステップS1113)カウンタjをインクリメントする。
(Step S1111) The instruction pattern conversion unit 1003 adds the i-th line source converted in step S1110 to the new program. It is assumed that the new program is stored in a certain file, for example, and a file is generated and opened at an initialization stage (not shown).
(Step S1112) The counter i is incremented. The process returns to step S1105.
(Step S1113) The counter j is incremented.

(ステップS1114)命令パターン変換部1003は、j番目の第一命令パターン情報が存在するか否かを判断する。j番目の第一命令パターン情報が存在すればステップS1107に戻り、j番目の第一命令パターン情報が存在しなければステップS1115に行く。
(ステップS1115)命令パターン変換部1003は、i行目のソースを新プログラムに追加する。ここでのi行目のソースは、例えば、コメント行である。
(ステップS1116)新プログラム出力部1004は、変換された後のプログラム(新プログラム)を出力する。ここでの出力は、記録媒体(ハードディスク等)に蓄積されるだけの処理も含む。
(Step S1114) The instruction pattern conversion unit 1003 determines whether or not the j-th first instruction pattern information exists. If the j-th first command pattern information exists, the process returns to step S1107, and if the j-th first command pattern information does not exist, the process goes to step S1115.
(Step S1115) The instruction pattern conversion unit 1003 adds the i-th line source to the new program. The source of the i-th line here is, for example, a comment line.
(Step S1116) The new program output unit 1004 outputs the converted program (new program). The output here includes processing that is only stored in a recording medium (such as a hard disk).

なお、第一命令パターン情報が条件格納部1002の条件に合致せず、第一命令パターンを第二命令パターンに自動変換しなかった第一命令パターンに関して、プログラマーが、キーボードなどの入力手段を用いて、手作業で第二命令パターンに書き換える。つまり、プログラム自動変換装置は、図示しないが、キーボードやマウスなどの入力手段を具備する。   Note that the first command pattern information does not match the conditions in the condition storage unit 1002, and the programmer uses input means such as a keyboard for the first command pattern in which the first command pattern is not automatically converted into the second command pattern. Then, manually rewrite the second command pattern. That is, although not shown, the automatic program conversion apparatus includes input means such as a keyboard and a mouse.

以下、本実施の形態におけるプログラム変換装置の具体的な動作について説明する。図12は、命令パターン対応情報格納部1001が保持している命令パターン情報管理表である。命令パターン情報管理表は、「ID」「第一命令パターン情報」「第二命令パターン情報」を有するレコードを複数格納している。「ID」はレコードを識別する情報である。命令パターン情報管理表は、変換対象のプログラム中に出現する第一命令パターン情報のソース行を対になる第二命令パターン情報に対応するように変換する場合に利用する対応表である。具体的には、「第一命令パターン情報」が「SOURCE-COMPUTER. XXXXXX.」である場合には、「第二命令パターン情報」「#DEL# * SOURCE-COMPUTER. XXXXXX. #CHG# SOURCE-COMPUTER. IBM-AS400.」に変換することを示す。なお「XXXXXX」は、任意の変数名を示す。また、「#DEL#」は削除したことを示す。「#CHG#」は変換した結果であることを示す。また、本ソースにおいて「*」はコメント行であり、「#」から「#」はコメントであることを示す。   Hereinafter, a specific operation of the program conversion apparatus in the present embodiment will be described. FIG. 12 is an instruction pattern information management table held by the instruction pattern correspondence information storage unit 1001. The command pattern information management table stores a plurality of records having “ID”, “first command pattern information”, and “second command pattern information”. “ID” is information for identifying a record. The instruction pattern information management table is a correspondence table used when the source line of the first instruction pattern information appearing in the conversion target program is converted so as to correspond to the paired second instruction pattern information. Specifically, when “First instruction pattern information” is “SOURCE-COMPUTER.XXXXXX.”, “Second instruction pattern information” “# DEL # * SOURCE-COMPUTER. XXXXXX. # CHG # SOURCE- COMPUTER. IBM-AS400. " “XXXXXX” indicates an arbitrary variable name. Further, “# DEL #” indicates that it has been deleted. “# CHG #” indicates a converted result. In this source, “*” indicates a comment line, and “#” to “#” indicate a comment.

また、図5は、プログラム格納部102に格納されている旧プログラムの例である。図8は、解析部103が解析した結果を示す命令パターン出現回数管理表である。さらに、条件格納部1002は、出現回数が2回以上の第一命令パターン情報のプログラム行を第二命令パターン情報に変換する、という条件を保持している、とする。   FIG. 5 is an example of an old program stored in the program storage unit 102. FIG. 8 is a command pattern appearance count management table showing the results of analysis by the analysis unit 103. Furthermore, it is assumed that the condition storage unit 1002 holds a condition that the program line of the first command pattern information whose number of appearances is two or more is converted into the second command pattern information.

そして、命令パターン変換部1003が、図5の旧プログラムを変換して生成し、新プログラム出力部1004が出力した新プログラムの例を図13に示す。図13において、新プログラムにおいて新たに生成された行が下線で示されている。つまり、新プログラムにおいて、変換された行と変換されてない行が視覚的に区別して表れている。
図13の新プログラムにおいて、(1)は、命令パターン情報管理表の「ID=1」の行により変換された箇所である。(2)は、命令パターン情報管理表の「ID=2」の行により変換された箇所である。
FIG. 13 shows an example of a new program generated by the instruction pattern conversion unit 1003 converting and generating the old program of FIG. 5 and outputting the new program output unit 1004. In FIG. 13, a newly generated line in the new program is indicated by an underline. That is, in the new program, converted lines and unconverted lines are visually distinguished.
In the new program of FIG. 13, (1) is a part converted by the line “ID = 1” in the instruction pattern information management table. (2) is a portion converted by the row of “ID = 2” in the command pattern information management table.

なお、図12の命令パターン情報管理表において、説明の便宜上、旧プログラム1行に対して、新プログラムn行(nは自然数)が対応する場合のみを記載したが、旧プログラムm行(mは2以上の自然数)に対して、新プログラムn行(nは自然数)が対応しても良い。   In the instruction pattern information management table of FIG. 12, for convenience of explanation, only the case where the new program n lines (n is a natural number) corresponds to one old program line, but the old program m lines (m is The new program n lines (n is a natural number) may correspond to a natural number of 2 or more.

以上、本実施の形態によれば、変換対象とするソースプログラムが含む命令パターンの解析が可能となり、その結果、効率的にソースプログラムを自動変換または半自動変換できる。具体的には、ソースプログラムを変換するためのプログラムを開発するまでもない一定未満の出現回数の命令パターンは、手作業で修正し、一定以上の出現回数(たとえば、2回以上の出現回数)の命令パターンのみ、ソースプログラムを変換するためのプログラムを開発しておき、当該変換プログラムを用いて自動変換することにより、効率的にプログラムを変換できる。かかるプログラム自動変換装置により、例えば、ある環境で動作していたプログラムを新しい環境で動作させる作業が非常に効率的に、かつ安全に行える。   As described above, according to this embodiment, it is possible to analyze an instruction pattern included in a source program to be converted, and as a result, the source program can be efficiently or semi-automatically converted. Specifically, an instruction pattern having a frequency of appearance less than a certain amount that does not require development of a program for converting a source program is manually corrected, and the number of occurrences of a certain number of occurrences (for example, the number of appearances of 2 or more). By developing a program for converting the source program for only the instruction pattern and automatically converting it using the conversion program, the program can be converted efficiently. With such an automatic program conversion apparatus, for example, the operation of operating a program operating in a certain environment in a new environment can be performed very efficiently and safely.

なお、本実施の形態において、変換プログラムを開発するまでもない一定未満の出現回数の命令パターンは、手作業で旧ソースプログラムを修正するので、プログラム自動変換装置は、手作業で修正するための入力手段を具備する。入力手段とは、例えば、キーボードやマウス等である。   In the present embodiment, an instruction pattern with an appearance frequency less than a certain number that does not require development of a conversion program manually corrects the old source program. Therefore, the automatic program conversion device is used for manual correction. Input means are provided. The input means is, for example, a keyboard or a mouse.

なお、本実施の形態において、図14に示すように、変換後の新プログラムにおいて、手作業によって変換した箇所と、自動変換した箇所と、変換していない箇所を視覚的に区別する態様で、新プログラムを蓄積や表示等しても良い。図14の新プログラムにおいて、「@」から「@」が手作業による作業を示すコメントである。「@DEL@」は手作業で削除した行であることを示し、「@ADD@」は手作業で追加した行であることを示す。   In the present embodiment, as shown in FIG. 14, in the new program after conversion, in a mode of visually distinguishing a place converted manually, a place automatically converted, and a place not converted, New programs may be stored and displayed. In the new program of FIG. 14, “@” to “@” are comments indicating manual work. “@ DEL @” indicates a manually deleted line, and “@ ADD @” indicates a manually added line.

また、本実施の形態において、自動変換するか手作業で変換するかを判断するための条件は、プログラムにおける第一命令パターン情報の出現回数をパラメータとする条件(上記例では、2回以上の出現回数の場合に自動変換するという条件)であったが、他の条件により決定しても良い。また、ユーザの入力により自動変換する第一命令パターンを指示する構成でも良い。   In the present embodiment, the condition for determining whether to perform automatic conversion or manual conversion is a condition that uses the number of appearances of the first command pattern information in the program as a parameter (in the above example, two or more times). However, it may be determined according to other conditions. Moreover, the structure which designates the 1st command pattern automatically converted by a user's input may be sufficient.

また、本実施の形態において説明した動作は、コンピュータ読み取り可能なプログラムで実現しても良い。当該プログラムは、CD−ROMなどの記録媒体に記録されて流布しても良いし、ネットワーク配信により流布しても良いし、放送で流布しても良い。かかることも、他の実施の形態においても同様である。なお、本実施の形態において説明した動作を実現するプログラムは、コンピュータに、旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上格納しており、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを解析する解析ステップと、前記解析ステップにおける解析結果を出力する解析結果出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように変換する命令パターン変換ステップと、前記命令パターン変換ステップで前記旧ソースプログラムを変換した結果である新プログラムを出力する新プログラム出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する入力を受け付けるステップを実行させるためのプログラム、である。   The operations described in this embodiment may be realized by a computer-readable program. The program may be recorded and distributed on a recording medium such as a CD-ROM, may be distributed by network distribution, or may be distributed by broadcasting. This also applies to other embodiments. Note that the program that realizes the operation described in the present embodiment is a first instruction pattern information that is information indicating the instruction pattern of the old source program and a second instruction that is information indicating the instruction pattern of the new source program. One or more pairs of pattern information are stored, an analysis step for analyzing how many times the one or more first command pattern information appears in the old source program, and an analysis result for outputting an analysis result in the analysis step The description part of the old source program corresponding to the first instruction pattern information analyzed that the number of appearances of the first instruction pattern information in the output step and the analysis step is a predetermined number of times (the predetermined number is 2 or more) Is converted to correspond to the second instruction pattern information paired with the first instruction pattern information. A pattern conversion step, a new program output step of outputting a new program that is a result of converting the old source program in the instruction pattern conversion step, and the number of appearances of the first instruction pattern information in the analysis step is less than the predetermined number of times In order to execute a step of accepting an input for changing the description portion of the old source program to the new source program manually by the user with respect to the description portion of the old source program corresponding to the first instruction pattern information analyzed as being present Program.

また、本実施の形態において、一のプログラム自動変換装置でプログラムの変換を行ったが、複数の装置で処理を分担しても良い。つまり、以下のプログラム自動変換方法を複数の装置で実現しても良い。旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上、記憶部に格納しており、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを、解析手段を用いて解析する解析ステップと、前記解析ステップにおける解析結果を、出力手段を用いて出力する解析結果出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように、変換手段を用いて変換する命令パターン変換ステップと、前記命令パターン変換ステップにおいて前記旧ソースプログラムを変換した結果である新ソースプログラムを、出力手段を用いて出力する新プログラム出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する、入力手段を用いた入力を受け付けるステップを具備する、ある環境で動作していたプログラムを他の環境で動作させるためのプログラム自動変換方法により、効率的に、かつ、不具合が少なくプログラムが移植できる。   In this embodiment, the program is converted by one program automatic conversion device, but the processing may be shared by a plurality of devices. That is, the following program automatic conversion method may be realized by a plurality of devices. One or more pairs of first instruction pattern information, which is information indicating the instruction pattern of the old source program, and second instruction pattern information, which is information indicating the instruction pattern of the new source program, are stored in the storage unit. An analysis step for analyzing how many times the one or more first command pattern information appears using an analysis means; and an analysis result output step for outputting an analysis result in the analysis step using an output means; The description location of the old source program corresponding to the first command pattern information analyzed that the first command pattern information appears more than a predetermined number of times (the predetermined number is 2 or more) in the analysis step is Command pattern conversion that converts using the conversion means so as to correspond to the second command pattern information paired with the first command pattern information A new program output step for outputting a new source program, which is a result of converting the old source program in the instruction pattern conversion step, using output means, and the number of times the first instruction pattern information appears in the analysis step. Input means for changing the description portion of the old source program manually by the user to the new source program for the description portion of the old source program corresponding to the first command pattern information analyzed to be less than the predetermined number of times The program automatic conversion method for allowing a program operating in one environment to operate in another environment, which includes a step of receiving an input using, enables the program to be transplanted efficiently and with few defects.

また、本実施の形態において、上述したプログラム自動変換装置は、新しい環境(つまり、移植先の環境)で動作するプログラムを生産する方法を実施する装置である、といえる。つまり、プログラム自動変換装置は、以下のプログラム生産方法を実現する。それは、旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上、記憶部に格納しており、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを解析する解析ステップと、前記解析ステップにおける解析結果を出力する解析結果出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように変換する命令パターン変換ステップと、前記命令パターン変換ステップにおいて前記旧ソースプログラムを変換した結果である新ソースプログラムを出力する新プログラム出力ステップと、前記解析ステップにおいて第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する入力を受け付けるステップを具備する、ある環境で動作していた旧ソースプログラムから他の環境で動作させるための新ソースプログラムを生産するプログラムの生産方法、である。また、上記のプログラムの生産方法における新プログラム出力ステップは、新ソースプログラムの中で、前記命令パターン変換ステップで変換した箇所と変換していない箇所を視覚的に区別して出力するプログラムの生産方法、でも良い。   In the present embodiment, it can be said that the above-described automatic program conversion apparatus is an apparatus that implements a method for producing a program that operates in a new environment (that is, a transplant destination environment). That is, the automatic program conversion apparatus realizes the following program production method. It stores one or more pairs of first instruction pattern information, which is information indicating the instruction pattern of the old source program, and second instruction pattern information, which is information indicating the instruction pattern of the new source program, in the storage unit. In the source program, an analysis step for analyzing how many times the one or more first command pattern information appears, an analysis result output step for outputting an analysis result in the analysis step, and a first command pattern information in the analysis step Of the old source program corresponding to the first instruction pattern information analyzed that the number of appearances is equal to or greater than a predetermined number (the predetermined number is 2 or more). Two command pattern conversion steps for converting to correspond to the two command pattern information, and the command pattern conversion step. A new program output step for outputting a new source program as a result of converting the old source program, and the first command pattern information analyzed that the number of times the first command pattern information appears in the analysis step is less than the predetermined number An old source program that was operating in a certain environment, including a step of accepting an input for changing the description portion of the old source program manually by the user to the new source program for the description portion of the old source program corresponding to A program production method for producing a new source program for operation in other environments. In addition, the new program output step in the above-described program production method is a program production method for visually distinguishing and outputting the portion converted in the instruction pattern conversion step and the portion not converted in the new source program, But it ’s okay.

さらに、本実施の形態において、上述したプログラム自動変換装置は、新しい環境(つまり、移植先の環境)で動作するプログラムを生産する装置である、といえる。かかるプログラムの生産装置は、旧ソースプログラムの命令パターンを示す情報である第一命令パターン情報と新ソースプログラムの命令パターンを示す情報である第二命令パターン情報の対を1以上、格納している命令パターン対応情報格納部と、旧ソースプログラムにおいて、前記1以上の第一命令パターン情報が何回出現するかを解析する解析部と、前記解析部における解析結果を出力する解析結果出力部と、前記解析部において第一命令パターン情報の出現回数が、所定回数(所定回数は2以上である)以上であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所を、当該第一命令パターン情報と対になる第二命令パターン情報に対応するように変換する命令パターン変換部と、前記命令パターン変換部において前記旧ソースプログラムを変換した結果である新ソースプログラムを出力する新プログラム出力部と、前記解析部において第一命令パターン情報の出現回数が前記所定回数未満であると解析された第一命令パターン情報に対応する旧ソースプログラムの記述箇所に対して、ユーザの手作業による、当該旧ソースプログラムの記述箇所を新ソースプログラムに変更する入力を受け付ける入力受付部を具備する、ある環境で動作していた旧ソースプログラムから他の環境で動作させるための新ソースプログラムを生産するプログラムの生産装置、である。   Furthermore, in the present embodiment, it can be said that the above-described automatic program conversion apparatus is an apparatus that produces a program that operates in a new environment (that is, a transplant destination environment). The program production apparatus stores one or more pairs of first instruction pattern information, which is information indicating the instruction pattern of the old source program, and second instruction pattern information, which is information indicating the instruction pattern of the new source program. An instruction pattern correspondence information storage unit; an analysis unit that analyzes how many times the one or more first command pattern information appears in the old source program; an analysis result output unit that outputs an analysis result in the analysis unit; The description portion of the old source program corresponding to the first instruction pattern information analyzed that the number of appearances of the first instruction pattern information is greater than or equal to a predetermined number of times (the predetermined number is 2 or more) in the analysis unit An instruction pattern conversion unit for converting the instruction pattern information to correspond to the second instruction pattern information paired with the one instruction pattern information; A new program output unit that outputs a new source program that is a result of converting the old source program, and a first command that is analyzed by the analyzing unit that the number of appearances of the first command pattern information is less than the predetermined number of times Operates in a certain environment with an input receiving unit that accepts an input to change the description part of the old source program to the new source program by the user's manual operation for the description part of the old source program corresponding to the pattern information This is a program production apparatus for producing a new source program for operating in another environment from the former source program.

以上のように、本発明にかかるプログラムの生産方法および生産装置は、ある環境で動作していた旧ソースプログラムから他の環境で動作させるための新ソースプログラムを生産するプログラムの生産方法、生産装置等として利用できる。   As described above, the program production method and production apparatus according to the present invention are a program production method and production apparatus for producing a new source program for operating in another environment from an old source program operating in a certain environment. Can be used as etc.

実施の形態1におけるプログラム解析装置のブロック図Block diagram of the program analysis apparatus in the first embodiment 実施の形態1におけるプログラム解析装置の動作について説明するフローチャートFlowchart for explaining the operation of the program analysis apparatus in the first embodiment 実施の形態1における命令パターン情報管理表Instruction pattern information management table in the first embodiment 実施の形態1における命令パターン出現回数管理表Instruction pattern appearance count management table in the first embodiment 実施の形態1におけるプログラムの例を示す図The figure which shows the example of the program in Embodiment 1 実施の形態1における命令パターン出現回数管理表を示す図The figure which shows the command pattern appearance frequency management table | surface in Embodiment 1. 実施の形態1における命令パターン出現回数管理表を示す図The figure which shows the command pattern appearance frequency management table | surface in Embodiment 1. 実施の形態1における解析結果の例を示す図The figure which shows the example of the analysis result in Embodiment 1 実施の形態1における解析結果の表示例を示す図The figure which shows the example of a display of the analysis result in Embodiment 1 実施の形態2におけるプログラム自動変換装置のブロック図Block diagram of automatic program conversion apparatus in embodiment 2 実施の形態2におけるプログラム自動変換装置の動作について説明するフローチャートA flowchart for explaining the operation of the automatic program conversion apparatus according to the second embodiment. 実施の形態2における命令パターン情報管理表を示す図The figure which shows the command pattern information management table | surface in Embodiment 2. 実施の形態2における変換後の新プログラムの例を示す図The figure which shows the example of the new program after conversion in Embodiment 2 実施の形態2における新プログラムの例を示す図The figure which shows the example of the new program in Embodiment 2

符号の説明Explanation of symbols

101 命令パターン情報格納部
102 プログラム格納部
103 解析部
104 解析結果出力部
1001 命令パターン対応情報格納部
1002 条件格納部
1003 命令パターン変換部
1004 新プログラム出力部
101 Command Pattern Information Storage Unit 102 Program Storage Unit 103 Analysis Unit 104 Analysis Result Output Unit 1001 Command Pattern Corresponding Information Storage Unit 1002 Condition Storage Unit 1003 Command Pattern Conversion Unit 1004 New Program Output Unit

Claims (3)

一の環境で動作していたプログラムである旧ソースプログラムを、他の環境で動作させるための新ソースプログラムに変換するために、前記旧ソースプログラムを解析するプログラム解析装置であって、
前記変換されるプログラムの命令パターンを示す情報である1以上の命令パターン情報を格納しており、同一の命令語を命令パターンの先頭に有しても後続の予約語および変数を示す文字列を合わせた構造が異なるものを異なる命令パターン情報として格納している命令パターン情報格納部と、
前記旧ソースプログラムを格納しているプログラム格納部と、
前記プログラム格納部に格納されている旧ソースプログラムを読み出し、前記命令パターン情報中の前記変数を示す文字列を、前記旧ソースプログラム中の英数字の文字列に対応させることにより、前記命令パターン情報格納部に格納されている1以上の各命令パターン情報が、それぞれ何回出現するかを解析する解析部と、
前記解析部における解析結果を、命令パターン情報ごとに出力する解析結果出力部を具備するプログラム解析装置。
A program analysis apparatus for analyzing an old source program in order to convert an old source program which is a program operating in one environment into a new source program for operating in another environment,
Has stored one or more instruction pattern information indicating a command pattern of a program to be the conversion, a character string indicating a subsequent reserved words and variables have a same instruction word to the beginning of the instruction pattern the combined structure is stored as a different command pattern information different from the instruction pattern information storage unit,
A program storage section for storing the old source program,
The instruction pattern information is read by reading the old source program stored in the program storage unit and associating a character string indicating the variable in the instruction pattern information with an alphanumeric character string in the old source program. 1 or more of each instruction pattern information stored in the storage unit, an analysis unit you analysis or occurrence times respectively,
A program analysis apparatus comprising an analysis result output unit that outputs an analysis result in the analysis unit for each instruction pattern information.
一の環境で動作していたプログラムである旧ソースプログラムを、他の環境で動作させるための新ソースプログラムに変換するために、コンピュータが前記旧ソースプログラムを解析するプログラム解析方法であって、
前記コンピュータの記憶媒体に、前記変換されるプログラムの命令パターンを示す情報である1以上の命令パターン情報が格納されており、同一の命令語を命令パターンの先頭に有しても後続の予約語および変数を示す文字列を合わせた構造が異なるものが異なる命令パターン情報として格納されており、
前記コンピュータの記憶媒体に、前記旧ソースプログラムが格納されており、
前記コンピュータの解析部により、前記旧ソースプログラムを読み出し、前記命令パターン情報中の前記変数を示す文字列を、前記旧ソースプログラム中の英数字の文字列に対応させることにより、記憶媒体に格納されている1以上の各命令パターン情報が、それぞれ何回出現するかを解析する解析ステップと、
前記コンピュータの解析結果出力部により、前記解析ステップにおける解析結果を、命令パターン情報ごとに出力する解析結果出力ステップを具備するプログラム解析方法。
The old source program which is a program operating in one environment, in order to convert to a new source program for operating in other environments, a program analysis method a computer analyzing the old source program,
The storage medium of the computer, the one or more instruction pattern information indicating a command pattern of be converted program is stored, a subsequent reservation have a same instruction word to the beginning of the instruction pattern structure of the combined character string indicating the words and variables are stored as different ones different instruction pattern information,
The storage medium of the computer, the old source program are stored,
The analysis unit of the computer reads the old source program and stores a character string indicating the variable in the instruction pattern information in a storage medium by associating the character string with an alphanumeric character string in the old source program. 1 or more of each instruction pattern information and is an analysis step you analysis whether each occurrence times,
A program analysis method comprising an analysis result output step of outputting an analysis result in the analysis step for each instruction pattern information by an analysis result output unit of the computer .
一の環境で動作していたプログラムである旧ソースプログラムを、他の環境で動作させるための新ソースプログラムに変換するために、前記旧ソースプログラムを解析するプログラム解析装置を実現するプログラムであって、
記憶媒体に、前記変換されるプログラムの命令パターンを示す情報である1以上の命令パターン情報が格納されており、同一の命令語を命令パターンの先頭に有しても後続の予約語および変数を示す文字列を合わせた構造が異なるものが異なる命令パターン情報として格納されており、
記憶媒体に、前記旧ソースプログラムが格納されており、
コンピュータを、
前記記憶媒体に格納されている旧ソースプログラムを読み出し、前記命令パターン情報中の前記変数を示す文字列を、前記旧ソースプログラム中の英数字の文字列に対応させることにより、前記記憶媒体に格納されている1以上の各命令パターン情報が、それぞれ何回出現するかを解析する解析部と、
前記解析部における解析結果を、命令パターン情報ごとに出力する解析結果出力部として機能させるためのプログラム。
A program for realizing a program analysis device for analyzing an old source program for converting an old source program which is a program operating in one environment into a new source program for operating in another environment. ,
The storage medium, the one or more instruction pattern information indicating a command pattern of be converted program is stored, have a same instruction word to the beginning of the command pattern of the subsequent reserved words and variables are stored as the instruction pattern information structure combined strings different differ indicating a
The storage medium, the old source program are stored,
Computer
The old source program stored in the storage medium is read, and the character string indicating the variable in the instruction pattern information is stored in the storage medium by corresponding to the alphanumeric character string in the old source program 1 or more of each instruction pattern information that is found and analysis unit you analysis or occurrence times respectively,
The program for functioning as an analysis result output part which outputs the analysis result in the said analysis part for every command pattern information.
JP2008241969A 2008-09-22 2008-09-22 Program analysis apparatus, program analysis method, and program Expired - Lifetime JP4472768B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008241969A JP4472768B2 (en) 2008-09-22 2008-09-22 Program analysis apparatus, program analysis method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008241969A JP4472768B2 (en) 2008-09-22 2008-09-22 Program analysis apparatus, program analysis method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003396663A Division JP4698943B2 (en) 2003-11-27 2003-11-27 Program production method, program production apparatus, program automatic conversion method, and program

Publications (2)

Publication Number Publication Date
JP2009054167A JP2009054167A (en) 2009-03-12
JP4472768B2 true JP4472768B2 (en) 2010-06-02

Family

ID=40505138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008241969A Expired - Lifetime JP4472768B2 (en) 2008-09-22 2008-09-22 Program analysis apparatus, program analysis method, and program

Country Status (1)

Country Link
JP (1) JP4472768B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018079843A1 (en) * 2016-10-31 2018-05-03 アイシン・エィ・ダブリュ株式会社 Vehicle drive transmission apparatus

Also Published As

Publication number Publication date
JP2009054167A (en) 2009-03-12

Similar Documents

Publication Publication Date Title
US8831925B1 (en) Indexing behaviors and recipes of a circuit design
JP4783658B2 (en) Verification support device, verification support method, verification support program, and recording medium
US20080052670A1 (en) Graphically Depicting Program Code Depth
WO2009098739A1 (en) Program optimization device and program optimization method
CN108762743A (en) Data table operation code generation method and device
JP2004341671A (en) Information processing system, control method, control program and recording medium
KR100688444B1 (en) Program automatic converting method and program automatic converting device
JP4747034B2 (en) Verification scenario creation program, recording medium, verification scenario creation device, and verification scenario creation method
JP5747698B2 (en) Requirements management support device
JP4698943B2 (en) Program production method, program production apparatus, program automatic conversion method, and program
JP4472768B2 (en) Program analysis apparatus, program analysis method, and program
JP4354514B2 (en) Program automatic conversion method, program automatic conversion device, and program
JP5124660B2 (en) Program production method and production apparatus
JP4885569B2 (en) Style sheet generating apparatus and style sheet generating program
JP2008052356A (en) Source code automatic generation device
JP2009080681A (en) Program structure parsing method and device
JP5932707B2 (en) Computer, program, and data generation method
JP2006301989A (en) Method, apparatus and program for automatically generating program in computer language from block diagram
KR20170129225A (en) Declarative cascade reordering of styles
JP2008299423A (en) Information processor and information processing program
JP5966801B2 (en) Language converter, program
JP5356851B2 (en) Macro program structuring system, macro program structuring method, and program
CN116880826B (en) Visualized code generation method
JP2011034419A (en) Modeling apparatus using model, and system construction method for software system
JP2007079906A (en) Source code generator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090413

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091014

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100219

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4472768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

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

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

EXPY Cancellation because of completion of term