JP3494376B1 - プログラム解析装置およびプログラム - Google Patents
プログラム解析装置およびプログラムInfo
- Publication number
- JP3494376B1 JP3494376B1 JP2002354264A JP2002354264A JP3494376B1 JP 3494376 B1 JP3494376 B1 JP 3494376B1 JP 2002354264 A JP2002354264 A JP 2002354264A JP 2002354264 A JP2002354264 A JP 2002354264A JP 3494376 B1 JP3494376 B1 JP 3494376B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- command pattern
- information
- pattern information
- analysis
- 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 - Fee Related
Links
- 238000004458 analytical method Methods 0.000 claims abstract description 95
- 238000006243 chemical reaction Methods 0.000 claims description 55
- 238000000034 method Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 101000823796 Homo sapiens Y-box-binding protein 1 Proteins 0.000 description 1
- 102100022224 Y-box-binding protein 1 Human genes 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
換または半自動変換する自動変換プログラムを開発する
場合に、どの命令パターンに対応する自動変換プログラ
ムを開発すべきかが判断できず、効率的にソースプログ
ラムを変換できなかった。 【解決手段】 プログラムの命令パターンを示す情報で
ある命令パターン情報を1以上格納している命令パター
ン情報格納部と、プログラムを格納するプログラム格納
部と、プログラムにおいて、1以上の命令パターン情報
が何回存在するかを解析する解析部と、解析部における
解析結果を出力する解析結果出力部を具備するプログラ
ム解析装置により、変換対象とするソースプログラムが
含む命令パターンの解析が可能となり、その結果、効率
的にソースプログラムを変換する自動変換プログラムを
開発できる。
Description
するプログラム解析装置や、当該プログラムの一部また
は全部を自動変換するプログラム自動変換装置や、その
プログラム等に関する。
自動変換する技術として、コンパイラ差分により発生す
る記述の違いを自動検出し、自動修正もしくはリストア
ップして開発作業を向上させる技術があった(特許文献
1参照)。本技術は、C言語で記述された原始プログラ
ムを構文解析し、1トークン毎のデータベースと中間フ
ァイルを作成し、データベース上の対象になる文字列を
削除・変更し、データベースや中間ファイルの情報をC
言語ファイルに生成し、目的プログラムを生成するもの
である。
ピュータ上に開発されたプログラム・オブジェクトをも
とに、他のコンピュータで実行可能なソフトウェアを自
動生成する技術があった(特許文献2参照)。本技術
は、与えられたコンピュータ資源のもとで実行可能なオ
ブジェクトコードは、セグメント分割器により、命令コ
ード領域D2とデータコード領域D3に分割される。続
いて、命令コード領域D2は、命令コード変換器によ
り、命令セットやOSプリミティブを解析し、高級プロ
グラム言語による命令文に変換される。また、データコ
ード領域D3は、参照している命令コードの種別に応じ
たデータ型を判別し、データ構文変換器により、高級プ
ログラム言語によるデータ定義文に変換される。さら
に、参照領域変換器が、データ定義文に対して、命令文
が利用するための参照名を付加し、命令文が参照名を利
用する形式に変換して高級言語プログラムを生成するも
のである。
1等)
等)
特許文献1の技術は、変換対象のソースプログラムが記
載されたプログラム言語の仕様が有するすべての命令を
自動変換することを前提としている、と考えられる。ま
た、上記の特許文献2の技術は、特定のコンピュータ上
におけるすべてのプログラム・オブジェクトを自動変換
することを前提としている、と考えられる。つまり、従
来技術において、一のプログラムの動作環境を移行する
ために、一のプログラムを移行後の環境においても効率
良く動作させることを考慮していない。従って、従来技
術では、変換対象とするソースプログラムのどの命令パ
ターンを自動変換し、どの命令パターンを手作業で行う
かが判断できない。従来技術において、一のプログラム
を自動変換または半自動変換する自動変換プログラムを
開発する場合に、どの命令パターンに対応する自動変換
プログラムを開発すべきかが判断できず、効率的にソー
スプログラムを変換できなかった。具体的には、従来技
術では、変換対象のプログラムにおいて1度しか出現し
ない命令パターンも自動変換するプログラムを開発する
ことが前提となっている。
めに、プログラムの命令パターンを示す情報である命令
パターン情報を1以上格納している命令パターン情報格
納部と、プログラムを格納するプログラム格納部と、プ
ログラムにおいて、1以上の命令パターン情報が何回存
在するかを解析する解析部と、解析部における解析結果
を出力する解析結果出力部を具備するプログラム解析装
置により、変換対象とするソースプログラムが含む命令
パターンの解析が可能となり、その結果、効率的にソー
スプログラムを変換する自動変換プログラムを開発でき
る。
ログラムの命令パターンを示す情報である第一命令パタ
ーン情報と新プログラムの命令パターンを示す情報であ
る第二命令パターン情報の対を1以上格納している命令
パターン対応情報格納部と、プログラムを格納している
プログラム格納部と、プログラムにおいて、1以上の第
一命令パターン情報が何回出現するかを解析する解析部
と、第一命令パターン情報に対応する旧プログラムの一
部を第二命令パターン情報に対応するように自動変換す
る条件を格納している条件格納部と、プログラム中の、
条件に合致する第一命令パターン情報に対応する旧プロ
グラムの一部を、当該第一命令パターン情報に対応する
第二命令パターン情報に対応するように変換する命令パ
ターン変換部と、命令パターン変換部がプログラムを変
換した結果である新プログラムを出力する新プログラム
出力部を具備するプログラム自動変換装置により、変換
対象とするソースプログラムが含む命令パターンの解析
が可能となり、その結果、効率的にソースプログラムを
変換する自動変換プログラムを開発できる。
置およびプログラム自動変換装置等の実施形態について
図面を参照して説明する。なお、実施の形態において同
じ符号を付した構成要素は同様の動作を行うので、再度
の説明を省略する場合がある。
を示す。プログラム解析装置は、命令パターン情報格納
部101、プログラム格納部102、解析部103、解
析結果出力部104を有する。
ラムの命令パターンを示す情報である命令パターン情報
を1以上格納している。命令パターン情報格納部101
は、不揮発性の記録媒体、または揮発性の記録媒体でも
実現可能である。
格納している。プログラム格納部102は、不揮発性の
記録媒体、または揮発性の記録媒体でも実現可能であ
る。プログラムとは、通常、ソースプログラムであり、
その言語は問わない。プログラムは、いわゆるスクリプ
トと言われるHTML、XMLなども含む。また、プロ
グラムは、手続き型のプログラム、宣言型のプログラム
等問わない、また、プログラムは、プログラムが動作す
るためのデータ群(ヘッダーファイルなど)も含む。
に格納されているプログラムにおいて、1以上の命令パ
ターン情報が何回出現するかを解析する。解析部103
は、通常、MPUやメモリ等から実現され得る。解析部
103が解析するための処理手順は、通常、ソフトウェ
アで実現され、当該ソフトウェアはROM等の記録媒体
に記録されている。但し、ハードウェア(専用回路)で
実現しても良い。
おける解析結果を出力する。出力とは、通常、ディスプ
レイへの表示をいうが、プリンタへの印字、他の装置へ
の送信なども含む。また、出力とは、ハードディスクな
どの記録媒体への蓄積も含む概念である。また、解析結
果出力部104は、出力ディスプレイを含むと考えても
含まないと考えても良い。解析結果出力部104は、例
えば、出力デバイスのドライバーソフトで実現され得
る。
て図2のフローチャートを用いて説明する。
ログラム格納部102のプログラムを読み込む。このプ
ログラムは、解析対象のプログラムである。プログラム
格納部102に複数のプログラムが格納されている場
合、例えば、解析部103は、ユーザが指示したプログ
ラムを読み込む。
令パターン情報格納部101に格納されている1以上の
命令パターン情報を読み込む。
令パターン情報の出現回数である命令パターン出現回数
をすべて0にする。なお、すべての命令パターン情報に
対応する命令パターン出現回数は、例えば、解析部10
3が保持しているメモリに記憶されている。
ウンタiに1を代入する。このカウンタは、ステップS
201で読み込んだプログラムのプログラムカウンタで
ある。つまり、解析部103は、ステップS201で読
み込んだプログラムのi番目の行を以下の処理により解
析する。なお、ここでは、プログラムは、1行1命令パ
ターンのプログラムである、とする。
テップS201で読み込んだプログラムにおいて、i番
目のプログラムソース行が存在するか否かを判断する。
i番目のプログラムソース行が存在すればステップS2
06に行き、i番目のプログラムソース行が存在しなけ
ればステップS213に飛ぶ。
ウンタjに1を代入する。カウンタjは、ステップS2
02で読み込んだ1以上の命令パターン情報のうち、解
析に利用する命令パターン情報を取得するためのカウン
タである。
番目のプログラムソース行は、j番目の命令パターン情
報に対応する命令パターンの行であるか否かを判断す
る。i番目のプログラムソース行がj番目の命令パター
ンであればステップS208に行き、j番目の命令パタ
ーンでなければステップS210に飛ぶ。i番目のプロ
グラムソース行がj番目の命令パターン情報に対応する
か否かの判断は、構文解析、字句解析等で可能であり、
既存技術であるので、ここでの詳細な説明は省略する。
番目の命令パターン情報に対応する命令パターン出現回
数を1インクリメントする。
をインクリメントする。ステップS205に戻る。
をインクリメントする。
番目の命令パターンが、命令パターン情報格納部101
に存在するか否かを判断する。j番目の命令パターンが
存在すればステップS207に戻り、j番目の命令パタ
ーンが存在しなければステップS212に行く。
「どの命令パターンにも該当しない旨」のエラー出力を
する。但し、このエラー出力処理はなくても良い。
4は、解析結果を出力する。解析結果とは、各命令パタ
ーン情報の命令パターン出現回数である。
析装置等の具体的な動作について説明する。図3は、命
令パターン情報格納部101が保持している命令パター
ン情報管理表である。命令パターン情報管理表は、「I
D」「命令パターン情報」を有するレコードを複数格納
している。「ID」はレコードを識別する情報であり、
表管理上利用される情報である。「命令パターン情報」
は、命令パターン情報を格納する属性である。
る命令パターン出現回数管理表である。命令パターン出
現回数管理表は、「ID」「出現回数」を有するレコー
ドを1以上有する。「ID」は、図3の命令パターン情
報管理表の「ID」に対応している。「出現回数」は、
命令パターンの出現回数を示す。「出現回数」の初期値
は、すべて「0」である。
れているプログラムの例である。プログラム解析装置
は、ユーザの指示により、図5のプログラムの解析を開
始する。図5のプログラムにおいて「*」で始まる行は
コメント行である。なお、プログラム解析装置は、コメ
ント行であることを判断した後の解析は行わない。
の1行目を読み込む。1行目はコメント行であるので、
次の行に移る(プログラムカウンタを進める)。解析部
103は、2行目から8行目までもコメント行であるの
で、解析は行わない。
目「IDENTIFICATIONDIVISIO
N.」を読み込む。解析部103は、プログラムの9行
目は、図3の命令パターン情報管理表の「ID=1」の
命令パターン情報に対応する、と判断する。そして、解
析部103は、図4の命令パターン出現回数管理表の
「ID」=「1」のレコードの「出現回数」の値を1イ
ンクリメントする。その結果が、図6の命令パターン出
現回数管理表である。
行目「PROGRAM−ID.PSD712.」を読み
込む。解析部103は、プログラムの10行目は、図3
の命令パターン情報管理表の「ID=2」の命令パター
ン情報に対応する、と判断する。なお、図3の命令パタ
ーン情報管理表の「変数01」「変数02」などは、変
数を意味する。プログラムにおいて、変数は、英数字の
文字列で構成される。ここでは、「PSD712」は変
数である。そして、解析部103は、図6の命令パター
ン出現回数管理表の「ID」=「2」の「出現回数」の
値を1インクリメントする。
すべての行に対して行う。そして、図7に示す命令パタ
ーン出現回数管理表を得る。
すような解析結果を出力する。解析結果は、「ID」
「回数」「命令パターン」を有する。「回数」は出現回
数である。また、図8の解析結果は、図3の命令パター
ン情報管理表と、図7の命令パターン出現回数管理表か
ら構成される。具体的には、図8の解析結果は、図3の
命令パターン情報管理表の「ID」と、図7の命令パタ
ーン出現回数管理表「ID」をキーとして、結合演算さ
れ、出力された結果である。
するソースプログラムが含む命令パターンの解析が可能
となり、その結果、効率的にソースプログラムを変換す
る自動変換プログラムを開発できる。なお、本実施の形
態における解析結果を受けて、プログラムを自動変換す
る処理については、実施の形態2以降で述べる。
上の回数が出現する命令パターンを他の命令パターンと
視覚的に区別して表示しても良い。かかる場合、例え
ば、図9に示すような解析結果が表示される。図9によ
れば、3回以上出現する命令パターンを他の命令パター
ンと視覚的に区別して表示している。なお、一定以上の
回数が出現する命令パターンを他の命令パターンと視覚
的に区別して表示する態様は、図9における態様に限ら
ず、何でも良い。
は、コンピュータ読み取り可能なプログラムで実現して
も良い。当該プログラムは、CD−ROMなどの記録媒
体に記録されて流布しても良いし、ネットワーク配信に
より流布しても良いし、放送で流布しても良い。かかる
ことも、他の実施の形態においても同様である。なお、
本実施の形態において説明した動作を実現するプログラ
ムは、コンピュータに、プログラムの命令パターンを示
す情報である命令パターン情報を1以上格納しており、
プログラムにおいて、1以上の命令パターン情報が何回
出現するかを解析する解析ステップと、解析ステップに
おける解析結果を出力する解析結果出力ステップを実行
させるためのプログラム、である。
グラム解析装置でプログラムの解析を行ったが、複数の
装置で処理を分担しても良い。つまり、プログラムの命
令パターンを示す情報である命令パターン情報を1以上
格納しており、プログラムにおいて、1以上の命令パタ
ーン情報が何回出現するかを解析する解析ステップと、
解析ステップにおける解析結果を出力する解析結果出力
ステップを具備するプログラム解析方法により、プログ
ラムが解析できれば、上述した効果を奏することとな
る。
ック図を示す。プログラム自動変換装置は、命令パター
ン対応情報格納部1001、プログラム格納部102、
解析部103、条件格納部1002、命令パターン変換
部1003、新プログラム出力部1004を具備する。
旧プログラム(変換対象のプログラム)の命令パターン
を示す情報である第一命令パターン情報と新プログラム
(変換後のプログラム)の命令パターンを示す情報であ
る第二命令パターン情報の対を1以上格納している。命
令パターン対応情報格納部1001は、不揮発性の記録
媒体、または揮発性の記録媒体でも実現可能である。
情報に対応する旧プログラムの一部を第二命令パターン
情報に対応するように自動変換する条件を格納してい
る。条件格納部1002は、不揮発性の記録媒体、また
は揮発性の記録媒体でも実現可能である。条件は、命令
パターン変換部1003が行う処理を実現するプログラ
ム中に埋め込まれている(ヘッダーファイルなどに定義
されている場合も含む)場合が多い。なお、条件は、解
析部103の解析結果に基づく条件である。
ム格納部102に格納されているプログラム(旧プログ
ラム)に対して、条件格納部1002に格納されている
条件に合致する第一命令パターン情報に対応する旧プロ
グラムの一部を、当該第一命令パターン情報と対になる
第二命令パターン情報に対応するように変換する処理を
行う。命令パターン変換部1003は、通常、MPUや
メモリ等から実現され得る。命令パターン変換部100
3が情報を変換するための処理手順は、通常、ソフトウ
ェアで実現され、当該ソフトウェアはROM等の記録媒
体に記録されている。但し、ハードウェア(専用回路)
で実現しても良い。
ーン変換部1003がプログラムを変換した結果である
新プログラムを出力する。出力とは、通常、ディスプレ
イへの表示をいうが、プリンタへの印字、他の装置への
送信、記録媒体(ハードディスク、デジタル多目的ディ
スクなど)への蓄積なども含む。また、新プログラム出
力部1004は、出力ディスプレイを含むと考えても含
まないと考えても良い。新プログラム出力部1004
は、例えば、出力デバイスのドライバーソフトで実現さ
れ得る。
ついて図11のフローチャートを用いて説明する。
ーチンを実行する。本プログラム解析ルーチンは、図2
のフローチャートを用いて説明したプログラムの解析処
理であり、変換対象のプログラムである旧プログラム中
における、命令パターンごとの出現回数を出力する。
部1003は、プログラム格納部102のプログラムを
読み込む。プログラム格納部102に2以上のプログラ
ムが存在する場合は、例えば、命令パターン変換部10
03は、ユーザが指示したプログラムを読み込む。
部1003は、命令パターン対応情報格納部1001が
保持している1以上の第一命令パターン情報を読み込
む。
部1003は、カウンタiに1を代入する。このカウン
タは、ステップS1102で読み込んだプログラムのプ
ログラムカウンタである。つまり、命令パターン変換部
1003は、ステップS1102で読み込んだプログラ
ムのi番目の行を以下の処理により変換する。なお、こ
こでは、プログラムは、1行1命令パターンのプログラ
ムである、とする。
部1003は、ステップS1102で読み込んだプログ
ラムにおいて、i行目のプログラムソースが存在するか
否かを判断する。i行目のプログラムソースが存在すれ
ばステップS1106に行き、i行目のプログラムソー
スが存在しなければステップS1116に飛ぶ。
部1003は、カウンタjに1を代入する。カウンタj
は、ステップS1103で読み込んだ1以上の第一命令
パターン情報のうち、変換に利用する第一命令パターン
情報を取得するためのカウンタである。
部1003は、i行目のプログラムソースは、j番目の
第一命令パターン情報に対応するか否かを判断する。j
番目の第一命令パターン情報に対応すればステップS1
108に行き、j番目の第一命令パターン情報に対応し
なければステップS1113に飛ぶ。なお、i行目のプ
ログラムソースがj番目の第一命令パターン情報に対応
するか否かは、i行目のプログラムソースの構文解析、
字句解析により可能である。
部1003は、j番目の第一命令パターン情報が条件格
納部1002の条件に合致するか否かを、ステップS1
101のプログラム解析ルーチンの解析結果に基づいて
決定する。j番目の第一命令パターン情報が条件に合致
すればステップS1109に行き、j番目の第一命令パ
ターン情報が条件に合致しなければステップS1115
に飛ぶ。
部1003は、j番目の第一命令パターン情報と対にな
る第二命令パターン情報を、命令パターン対応情報格納
部1001から取得する。
部1003は、i行目のプログラムソースを、ステップ
S1109で取得した第二命令パターン情報が示す命令
パターンに変換する。
部1003は、ステップS1110で変換したi行目の
ソースを新プログラムに追加する。なお、新プログラム
は、例えば、あるファイルに格納され、初期化段階(図
示しない)でファイル生成とファイルオープンがされて
いる、とする。
クリメントする。ステップS1105に戻る。
クリメントする。
部1003は、j番目の第一命令パターン情報が存在す
るか否かを判断する。j番目の第一命令パターン情報が
存在すればステップS1107に戻り、j番目の第一命
令パターン情報が存在しなければステップS1115に
行く。
部1003は、i行目のソースを新プログラムに追加す
る。ここでのi行目のソースは、例えば、コメント行で
ある。
部1004は、変換された後のプログラム(新プログラ
ム)を出力する。ここでの出力は、記録媒体(ハードデ
ィスク等)に蓄積されるだけの処理も含む。
換装置の具体的な動作について説明する。図12は、命
令パターン対応情報格納部1001が保持している命令
パターン情報管理表である。命令パターン情報管理表
は、「ID」「第一命令パターン情報」「第二命令パタ
ーン情報」を有するレコードを複数格納している。「I
D」はレコードを識別する情報である。命令パターン情
報管理表は、変換対象のプログラム中に出現する第一命
令パターン情報のソース行を対になる第二命令パターン
情報に対応するように変換する場合に利用する対応表で
ある。具体的には、「第一命令パターン情報」が「SOUR
CE-COMPUTER. XXXXXX.」である場合には、「第二命令
パターン情報」「#DEL# * SOURCE-COMPUTER. XXXXXX.
#CHG#SOURCE-COMPUTER. IBM-AS400.」に変換するこ
とを示す。なお「XXXXXX」は、任意の変数名を示す。ま
た、「#DEL#」は削除したことを示す。「#CHG#」は変換
した結果であることを示す。また、本ソースにおいて
「*」はコメント行であり、「#」から「#」はコメント
であることを示す。
格納されている旧プログラムの例である。図8は、解析
部103が解析した結果を示す命令パターン出現回数管
理表である。さらに、条件格納部1002は、出現回数
が2回以上の第一命令パターン情報のプログラム行を第
二命令パターン情報に変換する、という条件を保持して
いる、とする。
図5の旧プログラムを変換して生成し、新プログラム出
力部1004が出力した新プログラムの例を図13に示
す。図13において、新プログラムにおいて新たに生成
された行が下線で示されている。つまり、新プログラム
において、変換された行と変換されてない行が視覚的に
区別して表れている。
令パターン情報管理表の「ID=1」の行により変換さ
れた箇所である。は、命令パターン情報管理表の「I
D=2」の行により変換された箇所である。
おいて、説明の便宜上、旧プログラム1行に対して、新
プログラムn行(nは自然数)が対応する場合のみを記
載したが、旧プログラムm行(mは2以上の自然数)に
対して、新プログラムn行(nは自然数)が対応しても
良い。
するソースプログラムが含む命令パターンの解析が可能
となり、その結果、効率的にソースプログラムを自動変
換または半自動変換できる。具体的には、プログラムを
開発するまでもない一定未満の出現回数の命令パターン
は、手作業で修正し、一定以上の出現回数の命令パター
ンのみ自動変換することにより、効率的にプログラムを
変換できる。かかるプログラム自動変換装置により、例
えば、ある環境で動作していたプログラムを新しい環境
で動作させる作業が非常に効率的に、かつ安全に行え
る。
すように、変換後の新プログラムにおいて、手作業によ
って変換した箇所と、自動変換した箇所と、変換してい
ない箇所を視覚的に区別する態様で、新プログラムを蓄
積や表示等しても良い。図14の新プログラムにおい
て、「@」から「@」が手作業による作業を示すコメント
である。「@DEL@」は手作業で削除した行であることを
示し、「@ADD@」は手作業で追加した行であることを示
す。
るか手作業で変換するかを判断するための条件は、プロ
グラムにおける第一命令パターン情報の出現回数をパラ
メータとする条件(上記例では、2回以上の出現回数の
場合に自動変換するという条件)であったが、他の条件
により決定しても良い。また、ユーザの入力により自動
変換する第一命令パターンを指示する構成でも良い。
は、コンピュータ読み取り可能なプログラムで実現して
も良い。当該プログラムは、CD−ROMなどの記録媒
体に記録されて流布しても良いし、ネットワーク配信に
より流布しても良いし、放送で流布しても良い。かかる
ことも、他の実施の形態においても同様である。なお、
本実施の形態において説明した動作を実現するプログラ
ムは、コンピュータに、旧プログラムの命令パターンを
示す情報である第一命令パターン情報と新プログラムの
命令パターンを示す情報である第二命令パターン情報の
対を1以上格納しており、旧プログラムにおいて、1以
上の第一命令パターン情報が何回出現するかを解析する
解析ステップと、第一命令パターン情報に対応する旧プ
ログラムの一部を自動変換する条件を格納している条件
格納ステップと、条件に合致する第一命令パターン情報
に対応する旧プログラムの一部を、当該第一命令パター
ン情報と対になる第二命令パターン情報に対応するよう
に変換する命令パターン変換ステップと、命令パターン
変換ステップでプログラムを変換した結果である新プロ
グラムを出力する新プログラム出力ステップを実行させ
るためのプログラム、である。
グラム自動変換装置でプログラムの変換を行ったが、複
数の装置で処理を分担しても良い。つまり、旧プログラ
ムの命令パターンを示す情報である第一命令パターン情
報と新プログラムの命令パターンを示す情報である第二
命令パターン情報の対を1以上格納しており、旧プログ
ラムにおいて、1以上の第一命令パターン情報が何回出
現するかを解析する解析ステップと、第一命令パターン
情報に対応する旧プログラムの一部を自動変換する条件
を格納している条件格納ステップと、条件に合致する第
一命令パターン情報に対応する旧プログラムの一部を、
当該第一命令パターン情報と対になる第二命令パターン
情報に対応するように変換する命令パターン変換ステッ
プと、命令パターン変換ステップにおいて旧プログラム
を変換した結果である新プログラムを出力する新プログ
ラム出力ステップを具備するプログラム自動変換方法に
より、プログラムが解析できれば、上述した効果を奏す
ることとなる。
象とするプログラムが含む命令パターンの解析が可能と
なり、その結果、効率的にプログラムを変換できる。
ロック図
作について説明するフローチャート
理表
理表を示す図
理表を示す図
図
置のブロック図
置の動作について説明するフローチャート
表を示す図
の例を示す図
す図
Claims (4)
- 【請求項1】 旧ソースプログラムの命令パターンを示
す情報である第一命令パターン情報と新ソースプログラ
ムの命令パターンを示す情報である第二命令パターン情
報の対を1以上、記憶部に格納しており、 旧ソースプログラムにおいて、前記1以上の第一命令パ
ターン情報が何回出現するかを、解析手段を用いて解析
する解析ステップと、 前記解析ステップにおける解析結果を、出力手段を用い
て出力する解析結果出力ステップと、 前記解析ステップにおいて第一命令パターン情報の出現
回数が、所定回数(所定回数は2以上である)以上であ
ると解析された第一命令パターン情報に対応する旧ソー
スプログラムの記述箇所を、当該第一命令パターン情報
と対になる第二命令パターン情報に対応するように、変
換手段を用いて変換する命令パターン変換ステップと、 前記命令パターン変換ステップにおいて前記旧ソースプ
ログラムを変換した結果である新ソースプログラムを、
出力手段を用いて出力する新プログラム出力ステップ
と、 前記解析ステップにおいて第一命令パターン情報の出現
回数が前記所定回数未満であると解析された第一命令パ
ターン情報に対応する旧ソースプログラムの記述箇所に
対して、ユーザの手作業による当該旧ソースプログラム
の記述箇所を新ソースプログラムに変更する、入力手段
を用いた入力を受け付けるステップを具備する、ある環
境で動作していたプログラムを他の環境で動作させるた
めのプログラム自動変換方法。 - 【請求項2】 前記新プログラム出力ステップは、新ソ
ースプログラムの中で、前記命令パターン変換ステップ
で変換した箇所と変換していない箇所を視覚的に区別し
て出力する請求項1記載のプログラム自動変換方法。 - 【請求項3】 コンピュータに、 旧ソースプログラムの命令パターンを示す情報である第
一命令パターン情報と新ソースプログラムの命令パター
ンを示す情報である第二命令パターン情報の対を1以上
格納しており、 旧ソースプログラムにおいて、前記1以上の第一命令パ
ターン情報が何回出現するかを解析する解析ステップ
と、 前記解析ステップにおける解析結果を出力する解析結果
出力ステップと、 前記解析ステップにおいて第一命令パターン情報の出現
回数が、所定回数(所定回数は2以上である)以上であ
ると解析された第一命令パターン情報に対応する旧ソー
スプログラムの記述箇所を、当該第一命令パターン情報
と対になる第二命令パターン情報に対応するように変換
する命令パターン変換ステップと、 前記命令パターン変換ステップで前記旧ソースプログラ
ムを変換した結果である新プログラムを出力する新プロ
グラム出力ステップと、 前記解析ステップにおいて第一命令パターン情報の出現
回数が前記所定回数未満であると解析された第一命令パ
ターン情報に対応する旧ソースプログラムの記述箇所に
対して、ユーザの手作業による当該旧ソースプログラム
の記述箇所を新ソースプログラムに変更する入力を受け
付けるステップを実行させるためのプログラム。 - 【請求項4】 前記新プログラム出力ステップは、新ソ
ースプログラムの中で、前記命令パターン変換ステップ
で変換した箇所と変換していない箇所を視覚的に区別し
て出力する請求項3記載のプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002354264A JP3494376B1 (ja) | 2002-12-05 | 2002-12-05 | プログラム解析装置およびプログラム |
US10/518,090 US7831964B2 (en) | 2002-12-05 | 2003-11-28 | Program automatic converting method and program automatic converting device |
CNB2003801004739A CN100345116C (zh) | 2002-12-05 | 2003-11-28 | 程序自动变换方法及程序自动变换装置 |
AU2003284504A AU2003284504A1 (en) | 2002-12-05 | 2003-11-28 | Program automatic converting method and program automatic converting device |
KR1020047018061A KR100688444B1 (ko) | 2002-12-05 | 2003-11-28 | 프로그램 자동 변환 방법 및 프로그램 자동 변환 장치 |
PCT/JP2003/015305 WO2004051470A1 (ja) | 2002-12-05 | 2003-11-28 | プログラム自動変換方法およびプログラム自動変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002354264A JP3494376B1 (ja) | 2002-12-05 | 2002-12-05 | プログラム解析装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3494376B1 true JP3494376B1 (ja) | 2004-02-09 |
JP2004185508A JP2004185508A (ja) | 2004-07-02 |
Family
ID=31712378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002354264A Expired - Fee Related JP3494376B1 (ja) | 2002-12-05 | 2002-12-05 | プログラム解析装置およびプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US7831964B2 (ja) |
JP (1) | JP3494376B1 (ja) |
KR (1) | KR100688444B1 (ja) |
CN (1) | CN100345116C (ja) |
AU (1) | AU2003284504A1 (ja) |
WO (1) | WO2004051470A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011086319A (ja) * | 2011-02-01 | 2011-04-28 | Systems:Kk | プログラムの生産方法および生産装置 |
JP2012053657A (ja) * | 2010-09-01 | 2012-03-15 | Systems:Kk | 情報処理装置、情報処理方法、及びプログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100673499B1 (ko) * | 2005-01-13 | 2007-01-24 | 한국과학기술연구원 | 디지털 합금 다원 화합물 반도체의 분산 브랙 반사경 |
JP4712512B2 (ja) * | 2005-10-14 | 2011-06-29 | 富士通株式会社 | プログラム変換プログラム、プログラム変換装置、プログラム変換方法 |
JP4115511B1 (ja) * | 2007-05-08 | 2008-07-09 | 株式会社システムズ | プログラムパターン分析装置、パターン出現状況情報生産方法、パターン情報生成装置、およびプログラム |
US8490052B2 (en) * | 2008-10-14 | 2013-07-16 | Microsoft Corporation | Declarative programming model for authoring and execution control and data flow for resource oriented system |
US8533666B2 (en) * | 2008-10-17 | 2013-09-10 | Microsoft Corporation | Interactive design environments to visually model, debug and execute resource oriented programs |
US8635694B2 (en) * | 2009-01-10 | 2014-01-21 | Kaspersky Lab Zao | Systems and methods for malware classification |
US8621442B2 (en) * | 2011-02-09 | 2013-12-31 | Beek Fund B.V. L.L.C. | Quicker translation of a computer program source code |
KR20130097252A (ko) * | 2012-02-23 | 2013-09-03 | 삼성전자주식회사 | 소스 코드 분석에 의한 응용 프로그램 분석을 위한 방법 및 장치 |
JP6019843B2 (ja) * | 2012-07-11 | 2016-11-02 | 富士通株式会社 | 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0769830B2 (ja) * | 1987-08-18 | 1995-07-31 | 日本電気株式会社 | 展開制御機能をもつプログラム翻訳装置 |
JPH0542513Y2 (ja) | 1987-09-16 | 1993-10-26 | ||
JPH01290036A (ja) | 1988-05-18 | 1989-11-21 | Nec Corp | ソースメンバの文字列圧縮方式 |
JP3237869B2 (ja) * | 1991-06-26 | 2001-12-10 | 株式会社東芝 | 電力系統運用訓練シミュレータ |
JPH0553822A (ja) | 1991-08-27 | 1993-03-05 | Matsushita Electric Ind Co Ltd | 共通部分式文の削除方法及びその装置 |
JPH05324343A (ja) | 1992-05-22 | 1993-12-07 | Hitachi Software Eng Co Ltd | プログラムコンバートシステム |
JPH0778742B2 (ja) * | 1992-08-12 | 1995-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピユータ・プログラム言語変換装置及びその方法 |
JPH086815A (ja) * | 1994-06-21 | 1996-01-12 | Mitsubishi Electric Corp | デバッグ装置、コンパイラ及び統計解析装置 |
JP3907716B2 (ja) * | 1995-06-29 | 2007-04-18 | 株式会社エース電研 | 遊技機 |
JPH1046837A (ja) * | 1996-07-31 | 1998-02-17 | Concrete Kooring Kk | 工事用機械装置 |
JP3237693B2 (ja) | 1996-08-19 | 2001-12-10 | 日本電気株式会社 | 言語処理装置および言語処理方法 |
US5950004A (en) * | 1996-09-13 | 1999-09-07 | The United States Of America As Represented By The Secretary Of The Navy | Model-based process for translating test programs |
US6044220A (en) * | 1997-02-25 | 2000-03-28 | Motorola, Inc. | Method and apparatus for operating a data processor to execute software written using a foreign instruction set |
JPH11224199A (ja) * | 1998-02-06 | 1999-08-17 | Matsushita Electric Ind Co Ltd | 翻訳装置と情報処理装置および記録媒体 |
WO1999063456A1 (fr) * | 1998-06-04 | 1999-12-09 | Matsushita Electric Industrial Co., Ltd. | Dispositif de preparation de regles de conversion du langage, dispositif de conversion du langage et support d'enregistrement de programme |
US6901588B1 (en) * | 2000-04-17 | 2005-05-31 | Codemesh, Inc. | Sharing components between programming languages by use of polymorphic proxy |
JP2002001486A (ja) * | 2000-06-20 | 2002-01-08 | Asahi Tec Corp | 地下構造物用蓋体の鋳型装置 |
JP2002014826A (ja) | 2000-06-29 | 2002-01-18 | Toshiba Corp | インタプリタおよびそのプログラム実行方法 |
US7086046B2 (en) * | 2001-07-30 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for displaying compiler-optimizated code |
-
2002
- 2002-12-05 JP JP2002354264A patent/JP3494376B1/ja not_active Expired - Fee Related
-
2003
- 2003-11-28 CN CNB2003801004739A patent/CN100345116C/zh not_active Expired - Lifetime
- 2003-11-28 US US10/518,090 patent/US7831964B2/en active Active
- 2003-11-28 WO PCT/JP2003/015305 patent/WO2004051470A1/ja active Application Filing
- 2003-11-28 AU AU2003284504A patent/AU2003284504A1/en not_active Abandoned
- 2003-11-28 KR KR1020047018061A patent/KR100688444B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
「ACOSソフトウェア ACOS−6/NVX SEA/I CASEWORLD パターン・部品登録利用の手引き FPI76−1」,日本,日本電気株式会社,1993年 6月,初版,pp.8−14 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012053657A (ja) * | 2010-09-01 | 2012-03-15 | Systems:Kk | 情報処理装置、情報処理方法、及びプログラム |
JP2011086319A (ja) * | 2011-02-01 | 2011-04-28 | Systems:Kk | プログラムの生産方法および生産装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2003284504A1 (en) | 2004-06-23 |
US7831964B2 (en) | 2010-11-09 |
CN100345116C (zh) | 2007-10-24 |
WO2004051470A1 (ja) | 2004-06-17 |
KR20050030896A (ko) | 2005-03-31 |
JP2004185508A (ja) | 2004-07-02 |
KR100688444B1 (ko) | 2007-03-02 |
US20060156292A1 (en) | 2006-07-13 |
CN1692334A (zh) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533664B2 (en) | Method and system to automatically generate GUI object addressing queries | |
US20040049768A1 (en) | Method and program for compiling processing, and computer-readable medium recoding the program thereof | |
US20080046868A1 (en) | Method and system for template-based code generation | |
US20080250231A1 (en) | Program code conversion apparatus, program code conversion method and recording medium | |
JP3494376B1 (ja) | プログラム解析装置およびプログラム | |
WO2009098739A1 (ja) | プログラム最適化装置およびプログラム最適化方法 | |
JP4001286B2 (ja) | プログラム保守支援装置、プログラム保守支援方法、およびプログラム | |
JP2004341671A (ja) | 情報処理システム、制御方法、制御プログラム、及び記録媒体 | |
US7284235B2 (en) | Creation of content versions using content layers | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
JP2879099B1 (ja) | 抽象構文木処理方法、抽象構文木処理プログラムを記録したコンピュータ読み取り可能な記録媒体、抽象構文木データを記録したコンピュータ読み取り可能な記録媒体、及び、抽象構文木処理装置 | |
JP4698943B2 (ja) | プログラム生産方法、プログラム生産装置、プログラム自動変換方法、およびプログラム | |
JP4472768B2 (ja) | プログラム解析装置、プログラム解析方法、およびプログラム | |
JP4354514B2 (ja) | プログラム自動変換方法、プログラム自動変換装置、およびプログラム | |
JP5932707B2 (ja) | 計算機、プログラム及びデータ生成方法 | |
JP5124660B2 (ja) | プログラムの生産方法および生産装置 | |
JP2009080681A (ja) | プログラム構造解析方法及び装置 | |
JP2006031331A (ja) | プログラム変換実行計算機、及び、プログラム変換実行方法、プログラム | |
JPH10289123A (ja) | 最適化コードデバッグ方式 | |
JP3323147B2 (ja) | コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体 | |
JPH05150998A (ja) | コンパイラ | |
CN117827171A (zh) | 一种通过jsonSchema文件生成项目源码的方法及装置 | |
KR101524542B1 (ko) | 이종 스마트폰 어플리케이션을 위한 mof 기반의 데이터 변환 방법 및 그 장치 | |
JPH05181652A (ja) | プログラムリバース装置 | |
JP2003330731A (ja) | プロジェクト管理ファイル生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
R150 | Certificate of patent or registration of utility model |
Ref document number: 3494376 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131121 Year of fee payment: 10 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |