JPH0683630A - プログラム自動変換装置 - Google Patents
プログラム自動変換装置Info
- Publication number
- JPH0683630A JPH0683630A JP4237924A JP23792492A JPH0683630A JP H0683630 A JPH0683630 A JP H0683630A JP 4237924 A JP4237924 A JP 4237924A JP 23792492 A JP23792492 A JP 23792492A JP H0683630 A JPH0683630 A JP H0683630A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- area
- code
- data
- 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.)
- Withdrawn
Links
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 特定のコンピュータ上に開発されたプログラ
ム・オブジェクトをもとに、他のコンピュータで実行可
能なソフトウェアを自動生成する。 【構成】 与えられたコンピュータ資源E1のもとで実
行可能なオブジェクトコードD1は、セグメント分割器
P1により、命令コード領域D2とデータコード領域D
3に分割される。続いて、命令コード領域D2は、命令
コード変換器P2により、命令セットやOSプリミティ
ブを解析し、高級プログラム言語による命令文D4に変
換される。また、データコード領域D3は、参照してい
る命令コードの種別に応じたデータ型を判別し、データ
構文変換器P3により、高級プログラム言語によるデー
タ定義文D5に変換される。さらに、参照領域変換器P
4が、データ定義文D5に対して、命令文が利用するた
めの参照名を付加し、命令文D4が参照名を利用する形
式に変換して高級言語プログラムD6を生成する。
ム・オブジェクトをもとに、他のコンピュータで実行可
能なソフトウェアを自動生成する。 【構成】 与えられたコンピュータ資源E1のもとで実
行可能なオブジェクトコードD1は、セグメント分割器
P1により、命令コード領域D2とデータコード領域D
3に分割される。続いて、命令コード領域D2は、命令
コード変換器P2により、命令セットやOSプリミティ
ブを解析し、高級プログラム言語による命令文D4に変
換される。また、データコード領域D3は、参照してい
る命令コードの種別に応じたデータ型を判別し、データ
構文変換器P3により、高級プログラム言語によるデー
タ定義文D5に変換される。さらに、参照領域変換器P
4が、データ定義文D5に対して、命令文が利用するた
めの参照名を付加し、命令文D4が参照名を利用する形
式に変換して高級言語プログラムD6を生成する。
Description
【0001】
【産業上の利用分野】本発明は特定のコンピュータ上に
開発されたプログラム・オブジェクトをもとに、他のコ
ンピュータで実行可能なソフトウェアを生成するプログ
ラム自動変換装置に関する。
開発されたプログラム・オブジェクトをもとに、他のコ
ンピュータで実行可能なソフトウェアを生成するプログ
ラム自動変換装置に関する。
【0002】
【従来の技術】従来、プログラム・オブジェクトをアセ
ンブラ言語等への変換する「逆アセンブラ」(例:ad
b)が実用化されていたが、それは特定のコンピュータ
のアーキテクチャに依存しており、他のコンピュータで
も実行可能なC言語等の高級言語への変換装置は実現さ
れていなかった。
ンブラ言語等への変換する「逆アセンブラ」(例:ad
b)が実用化されていたが、それは特定のコンピュータ
のアーキテクチャに依存しており、他のコンピュータで
も実行可能なC言語等の高級言語への変換装置は実現さ
れていなかった。
【0003】
【発明が解決しようとする課題】上述した従来の逆アセ
ンブラは、プログラム・オブジェクトをコンピュータ装
置個々に依存した機械語に近いアセンブラ言語に変換す
るだけであり、個々のコンピュータに依存しないプログ
ラムソースコードを得ることができなかった。すなわ
ち、プログラムの移植作業や保守作業を困難にしてい
た。
ンブラは、プログラム・オブジェクトをコンピュータ装
置個々に依存した機械語に近いアセンブラ言語に変換す
るだけであり、個々のコンピュータに依存しないプログ
ラムソースコードを得ることができなかった。すなわ
ち、プログラムの移植作業や保守作業を困難にしてい
た。
【0004】本発明の目的は、与えられたプログラム・
オブジェクトからコンピュータのハードウェア/オペレ
ーティング・システム資源に関する情報を利用して個々
のコンピュータに依存しないプログラムを再構成するこ
とにより、他のコンピュータで実行可能なオブジェクト
を生成する。
オブジェクトからコンピュータのハードウェア/オペレ
ーティング・システム資源に関する情報を利用して個々
のコンピュータに依存しないプログラムを再構成するこ
とにより、他のコンピュータで実行可能なオブジェクト
を生成する。
【0005】
【課題を解決するための手段】本発明のプログラム自動
変換装置は、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報とに基づいてプログラムのオブジェクトコ
ードを命令コード領域とデータ領域とに分類するように
して構成される。
変換装置は、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報とに基づいてプログラムのオブジェクトコ
ードを命令コード領域とデータ領域とに分類するように
して構成される。
【0006】また、本発明のプログラム自動変換装置
は、命令セット情報とハードウェア資源情報とオペレー
ティング・システム資源情報とに基づいて前記命令コー
ド領域にあるオブジェクトコードを高級プログラム言語
のソースコード命令文に変換するようにして構成され
る。
は、命令セット情報とハードウェア資源情報とオペレー
ティング・システム資源情報とに基づいて前記命令コー
ド領域にあるオブジェクトコードを高級プログラム言語
のソースコード命令文に変換するようにして構成され
る。
【0007】さらに、本発明のプログラム自動変換装置
は、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報とに基づいて
前記データ領域の内容を文字型や整数型などの種別に分
類し、高級プログラム言語のデータ定義文に変換するよ
うにして構成される。
は、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報とに基づいて
前記データ領域の内容を文字型や整数型などの種別に分
類し、高級プログラム言語のデータ定義文に変換するよ
うにして構成される。
【0008】さらにまた、本発明のプログラム自動変換
装置は、前記高級プログラム言語のソースコード命令文
と前記高級プログラミング言語のデータ定義文とによ
り、他のコンピュータの環境情報を参照して前記コンピ
ュータで実行する高級言語プログラムを生成するように
して構成される。
装置は、前記高級プログラム言語のソースコード命令文
と前記高級プログラミング言語のデータ定義文とによ
り、他のコンピュータの環境情報を参照して前記コンピ
ュータで実行する高級言語プログラムを生成するように
して構成される。
【0009】
【作用】まず、与えられたプログラムのオブジェクトコ
ードを、実行対象であるコンピュータの命令セット情報
とハードウェア資源情報とオペレーティング・システム
資源情報をもとに、実行トレースを行う。この結果、プ
ログラム実行に用いられる命令領域が限定される。さら
に、これらの命令により参照されたデータ領域を種類に
応じて分類する。ここで、もし、不必要なコードがあれ
ば、自動的に除去されることになる。
ードを、実行対象であるコンピュータの命令セット情報
とハードウェア資源情報とオペレーティング・システム
資源情報をもとに、実行トレースを行う。この結果、プ
ログラム実行に用いられる命令領域が限定される。さら
に、これらの命令により参照されたデータ領域を種類に
応じて分類する。ここで、もし、不必要なコードがあれ
ば、自動的に除去されることになる。
【0010】上記命令コード領域にあるオブジェクトコ
ードは、命令セット情報とハードウェア資源情報とオペ
レーティング・システム資源情報をもとに、逐次、高級
プログラム言語のソースコード命令文に変換される。
ードは、命令セット情報とハードウェア資源情報とオペ
レーティング・システム資源情報をもとに、逐次、高級
プログラム言語のソースコード命令文に変換される。
【0011】上記データ領域にあるデータ内容に対し
て、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報をもとに、デ
ータ領域を参照している命令の種類に応じて、データ領
域の内容を文字型や浮動小数点形式などの種別に分類す
る。これらの分類されたデータ形式に応じて、高級プロ
グラム言語の型宣言文やデータ定義文,構造定義文に変
換する。
て、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報をもとに、デ
ータ領域を参照している命令の種類に応じて、データ領
域の内容を文字型や浮動小数点形式などの種別に分類す
る。これらの分類されたデータ形式に応じて、高級プロ
グラム言語の型宣言文やデータ定義文,構造定義文に変
換する。
【0012】上記により得られた高級プログラム言語の
データ定義文に参照名を付加し、高級プログラム言語の
ソースコード命令文を関連するデータ定義の参照名を用
いて書換える。この結果、実行可能な高級言語プログラ
ムが生成される。
データ定義文に参照名を付加し、高級プログラム言語の
ソースコード命令文を関連するデータ定義の参照名を用
いて書換える。この結果、実行可能な高級言語プログラ
ムが生成される。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0014】図1は本発明の一実施例のプログラム自動
変換装置の概念図である。同図において、与えられたコ
ンピュータ環境情報E1のもとで実行可能なオブジェク
トコードD1は、セグメント分割器P1により、命令コ
ード領域D2とデータコード領域D3に分割される。
変換装置の概念図である。同図において、与えられたコ
ンピュータ環境情報E1のもとで実行可能なオブジェク
トコードD1は、セグメント分割器P1により、命令コ
ード領域D2とデータコード領域D3に分割される。
【0015】続いて、命令コード領域D2は、命令コー
ド変換器P2により、コンピュータ環境情報E1の情報
をもとに、命令セットやOSプリミティブを解析し、高
級プログラム言語による命令文D4に変換される。ま
た、データコード領域D3にあるコードは、参照してい
る命令コードの種別に応じたデータ型を判別し、データ
構文変換器P3により、高級プログラム言語によるデー
タ定義文D5に変換される。
ド変換器P2により、コンピュータ環境情報E1の情報
をもとに、命令セットやOSプリミティブを解析し、高
級プログラム言語による命令文D4に変換される。ま
た、データコード領域D3にあるコードは、参照してい
る命令コードの種別に応じたデータ型を判別し、データ
構文変換器P3により、高級プログラム言語によるデー
タ定義文D5に変換される。
【0016】さらに、参照領域変換器P4が、高級プロ
グラム言語によるデータ定義文D5に対して、命令文が
利用するための参照名を付加し、命令文D4が参照名を
利用する形式に変換して高級言語プログラムD6を生成
する。
グラム言語によるデータ定義文D5に対して、命令文が
利用するための参照名を付加し、命令文D4が参照名を
利用する形式に変換して高級言語プログラムD6を生成
する。
【0017】なお、コンピュータ環境情報E2は、新た
なターゲットとなるコンピュータの個有な情報を高級言
語プログラムD6に必要とする場合に、命令コード変換
器P2,データ構文変換器P3,参照領域変換器P4に
よって参照される。
なターゲットとなるコンピュータの個有な情報を高級言
語プログラムD6に必要とする場合に、命令コード変換
器P2,データ構文変換器P3,参照領域変換器P4に
よって参照される。
【0018】本発明のプログラム自動変換装置は、実行
対象であるコンピュータの命令セット情報とハードウェ
ア資源情報とオペレーティング・システム資源情報をも
とに、与えられたプログラムのオブジェクトコードを解
析し、ハードウェア資源に依存しない高級プログラミン
グ言語に書き換える。
対象であるコンピュータの命令セット情報とハードウェ
ア資源情報とオペレーティング・システム資源情報をも
とに、与えられたプログラムのオブジェクトコードを解
析し、ハードウェア資源に依存しない高級プログラミン
グ言語に書き換える。
【0019】まず、与えられたプログラムのオブジェク
トコードを、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報をもとに、実行トレースを行う。すなわ
ち、オペレーティング・システム資源情報で規定されて
いる実行開始アドレスのオブジェクトコードをまず解析
し、命令コード領域として登録するとともに、その命令
を分析する。続いて、この命令の内容にしたがって、次
のオブジェクトコードを解析し、命令コード領域に加え
る。条件分岐についてはトレース可能な候補リストに加
え、現在のトレースを既に登録された命令コードに戻る
か、終了するまで進める。現在のトレースが終了した
ら、トレース可能な候補リストを順次対象として上記の
解析を進める。トレース可能な候補が無くなった時点で
解析は終了する。さらに、この解析の過程において命令
コードに応じてデータ領域にマーク付けを行ない、参照
アドレスコードを与える。この結果、オブジェクト全体
は命令コード領域とデータ領域に自動分類される。
トコードを、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報をもとに、実行トレースを行う。すなわ
ち、オペレーティング・システム資源情報で規定されて
いる実行開始アドレスのオブジェクトコードをまず解析
し、命令コード領域として登録するとともに、その命令
を分析する。続いて、この命令の内容にしたがって、次
のオブジェクトコードを解析し、命令コード領域に加え
る。条件分岐についてはトレース可能な候補リストに加
え、現在のトレースを既に登録された命令コードに戻る
か、終了するまで進める。現在のトレースが終了した
ら、トレース可能な候補リストを順次対象として上記の
解析を進める。トレース可能な候補が無くなった時点で
解析は終了する。さらに、この解析の過程において命令
コードに応じてデータ領域にマーク付けを行ない、参照
アドレスコードを与える。この結果、オブジェクト全体
は命令コード領域とデータ領域に自動分類される。
【0020】分類された命令コード領域にあるオブジェ
クトコードに対して、命令セット情報とハードウェア資
源情報とオペレーティング・システム資源情報をもと
に、各オブジェクトコードに対応する高級プログラム言
語のソースコード命令文へ自動的に変換する。ここで、
データ領域やレジスタへの参照命令は、シンボリックな
参照アドレスを用いた表現に変換し、オペレーティング
システムに依存する命令は、参照するデータ領域の種別
に応じて、OSプリミティブ利用命令に変換する。この
結果、命令コード領域をすべてシンボリック表現に変換
して高級プログラム言語に変換することができる。
クトコードに対して、命令セット情報とハードウェア資
源情報とオペレーティング・システム資源情報をもと
に、各オブジェクトコードに対応する高級プログラム言
語のソースコード命令文へ自動的に変換する。ここで、
データ領域やレジスタへの参照命令は、シンボリックな
参照アドレスを用いた表現に変換し、オペレーティング
システムに依存する命令は、参照するデータ領域の種別
に応じて、OSプリミティブ利用命令に変換する。この
結果、命令コード領域をすべてシンボリック表現に変換
して高級プログラム言語に変換することができる。
【0021】上記データ領域にあるデータ内容に対し
て、参照している命令セット情報と、ハードウェア資源
情報とオペレーティング・システム資源情報をもとに、
データ領域を参照している命令の種類に応じて、データ
領域の内容を文字型や浮動小数点形式などの種別に分類
し、高級プログラム言語のデータ定義文へ自動的に変換
する。命令の種類に応じて、ファイルコントロールブロ
ック(FCB)やデバイス制御ブロックなどのOS構造
体への変換を行なう。
て、参照している命令セット情報と、ハードウェア資源
情報とオペレーティング・システム資源情報をもとに、
データ領域を参照している命令の種類に応じて、データ
領域の内容を文字型や浮動小数点形式などの種別に分類
し、高級プログラム言語のデータ定義文へ自動的に変換
する。命令の種類に応じて、ファイルコントロールブロ
ック(FCB)やデバイス制御ブロックなどのOS構造
体への変換を行なう。
【0022】上記のようにして得られた高級プログラム
言語のソースコード命令文に、その高級プログラム言語
のデータ定義文を付加する。さらに、オペレーティング
システム資源を利用する命令については、新たなターゲ
ットとなるコンピュータのオペレーティングシステムの
対応するプリミティブに変換し、実行可能な高級言語プ
ログラムに生成する。
言語のソースコード命令文に、その高級プログラム言語
のデータ定義文を付加する。さらに、オペレーティング
システム資源を利用する命令については、新たなターゲ
ットとなるコンピュータのオペレーティングシステムの
対応するプリミティブに変換し、実行可能な高級言語プ
ログラムに生成する。
【0023】
【発明の効果】以上説明したように本発明は、特定のコ
ンピュータ用に開発・運用されているプログラムのオブ
ジェクト・コードを高級言語プログラムに逆変換し、他
のコンピュータで実行可能なプログラムに変換する。例
えば、パーソナルコンピュータ上のMS−DOSで記述
されたプログラムのオブジェクトコードを、ワークステ
ーション上のUNIXで動くC言語などのソースコード
に変換することができる。したがって、従来プログラム
移植や保守に費やしていた膨大なソフトウェア開発工数
を大幅に低減することが可能である。
ンピュータ用に開発・運用されているプログラムのオブ
ジェクト・コードを高級言語プログラムに逆変換し、他
のコンピュータで実行可能なプログラムに変換する。例
えば、パーソナルコンピュータ上のMS−DOSで記述
されたプログラムのオブジェクトコードを、ワークステ
ーション上のUNIXで動くC言語などのソースコード
に変換することができる。したがって、従来プログラム
移植や保守に費やしていた膨大なソフトウェア開発工数
を大幅に低減することが可能である。
【図1】本発明の一実施例を示す概念図。
D1 オブジェクトコード D2 命令コード領域 D3 データコード領域 D4 命令文 D5 データ定義文 D6 高級言語プログラム P1 セグメント分割器 P2 命令コード変換器 P3 命令構文変換器 P4 参照領域変換器 E1,E2 コンピュータ環境情報
Claims (4)
- 【請求項1】 実行対象であるコンピュータの命令セッ
ト情報とハードウェア資源情報とオペレーティング・シ
ステム資源情報とに基づいてプログラムのオブジェクト
コードを命令コード領域とデータ領域とに分類すること
を特徴とするプログラム自動変換装置。 - 【請求項2】 命令セット情報とハードウェア資源情報
とオペレーティング・システム資源情報とに基づいて前
記命令コード領域にあるオブジェクトコードを高級プロ
グラム言語のソースコード命令文に変換することを特徴
とする請求項1記載のプログラム自動変換装置。 - 【請求項3】 参照している命令セット情報とハードウ
ェア資源情報とオペレーティング・システム資源情報と
に基づいて前記データ領域の内容を文字型や整数型など
の種別に分類し、高級プログラム言語のデータ定義文に
変換することを特徴とする請求項1または2記載のプロ
グラム自動変換装置。 - 【請求項4】 前記高級プログラム言語のソースコード
命令文と前記高級プログラミング言語のデータ定義文と
により、他のコンピュータの環境情報を参照して前記コ
ンピュータで実行する高級言語プログラムを生成するこ
とを特徴とする請求項1または2または3記載のプログ
ラム自動変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4237924A JPH0683630A (ja) | 1992-09-07 | 1992-09-07 | プログラム自動変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4237924A JPH0683630A (ja) | 1992-09-07 | 1992-09-07 | プログラム自動変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0683630A true JPH0683630A (ja) | 1994-03-25 |
Family
ID=17022476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4237924A Withdrawn JPH0683630A (ja) | 1992-09-07 | 1992-09-07 | プログラム自動変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0683630A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023050192A (ja) * | 2021-09-29 | 2023-04-10 | 敦 黒川 | 情報処理装置、プログラム、データ構造、及び情報処理方法 |
-
1992
- 1992-09-07 JP JP4237924A patent/JPH0683630A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023050192A (ja) * | 2021-09-29 | 2023-04-10 | 敦 黒川 | 情報処理装置、プログラム、データ構造、及び情報処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08202545A (ja) | ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法 | |
CN115543290B (zh) | 可视化编程方法及系统 | |
CN112306479A (zh) | 一种基于抽象语法的代码可视化分析方法及装置 | |
JPH06309204A (ja) | データ処理方法及びその装置 | |
JP3318051B2 (ja) | 翻訳処理方法 | |
CN113835688B (zh) | 一种科学计算语言解释器的对象封装方法 | |
JPH08305583A (ja) | Cpuシミュレーション方法 | |
JPH0683630A (ja) | プログラム自動変換装置 | |
JPH07182179A (ja) | オブジェクト指向データベース管理装置 | |
Carlson | A survey of high-level language computer architecture | |
Tolmach | Combining closure conversion with closure analysis using algebraic types | |
JPH0683597A (ja) | オブジェクト指向プログラム開発装置およびオブジェクト指向プログラム開発方法 | |
JPH09179738A (ja) | オブジェクト指向言語処理方法及び処理装置 | |
Somogyi et al. | Towards a Model Transformation based Code Renovation Tool. | |
JP3085956B2 (ja) | オブジェクト指向言語の翻訳処理装置 | |
JPH03144832A (ja) | プリコンパイラ言語プログラムのシンボリックデバッグ装置 | |
JP3018783B2 (ja) | コンパイル方式 | |
Zhou et al. | Implementation of G Language | |
Legalov et al. | Transformation of C Programming Language Memory Model into Object-Oriented Representation of EO Language | |
JPH06282443A (ja) | プログラム編集方法と装置 | |
JPH0272407A (ja) | ラダー・プログラム変換装置 | |
JPH1083328A (ja) | 単体テスト用疑似入出力実現方式 | |
JPH0561687A (ja) | コンパイラの処理方式 | |
Hari et al. | CHILL toolset for C-DOT DSS | |
JPH0612259A (ja) | コンパイラ処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19991130 |