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
Application number
JP4237924A
Other languages
English (en)
Inventor
Tomoyuki Fujita
友之 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4237924A priority Critical patent/JPH0683630A/ja
Publication of JPH0683630A publication Critical patent/JPH0683630A/ja
Withdrawn legal-status Critical Current

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を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は特定のコンピュータ上に
開発されたプログラム・オブジェクトをもとに、他のコ
ンピュータで実行可能なソフトウェアを生成するプログ
ラム自動変換装置に関する。
【0002】
【従来の技術】従来、プログラム・オブジェクトをアセ
ンブラ言語等への変換する「逆アセンブラ」(例:ad
b)が実用化されていたが、それは特定のコンピュータ
のアーキテクチャに依存しており、他のコンピュータで
も実行可能なC言語等の高級言語への変換装置は実現さ
れていなかった。
【0003】
【発明が解決しようとする課題】上述した従来の逆アセ
ンブラは、プログラム・オブジェクトをコンピュータ装
置個々に依存した機械語に近いアセンブラ言語に変換す
るだけであり、個々のコンピュータに依存しないプログ
ラムソースコードを得ることができなかった。すなわ
ち、プログラムの移植作業や保守作業を困難にしてい
た。
【0004】本発明の目的は、与えられたプログラム・
オブジェクトからコンピュータのハードウェア/オペレ
ーティング・システム資源に関する情報を利用して個々
のコンピュータに依存しないプログラムを再構成するこ
とにより、他のコンピュータで実行可能なオブジェクト
を生成する。
【0005】
【課題を解決するための手段】本発明のプログラム自動
変換装置は、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報とに基づいてプログラムのオブジェクトコ
ードを命令コード領域とデータ領域とに分類するように
して構成される。
【0006】また、本発明のプログラム自動変換装置
は、命令セット情報とハードウェア資源情報とオペレー
ティング・システム資源情報とに基づいて前記命令コー
ド領域にあるオブジェクトコードを高級プログラム言語
のソースコード命令文に変換するようにして構成され
る。
【0007】さらに、本発明のプログラム自動変換装置
は、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報とに基づいて
前記データ領域の内容を文字型や整数型などの種別に分
類し、高級プログラム言語のデータ定義文に変換するよ
うにして構成される。
【0008】さらにまた、本発明のプログラム自動変換
装置は、前記高級プログラム言語のソースコード命令文
と前記高級プログラミング言語のデータ定義文とによ
り、他のコンピュータの環境情報を参照して前記コンピ
ュータで実行する高級言語プログラムを生成するように
して構成される。
【0009】
【作用】まず、与えられたプログラムのオブジェクトコ
ードを、実行対象であるコンピュータの命令セット情報
とハードウェア資源情報とオペレーティング・システム
資源情報をもとに、実行トレースを行う。この結果、プ
ログラム実行に用いられる命令領域が限定される。さら
に、これらの命令により参照されたデータ領域を種類に
応じて分類する。ここで、もし、不必要なコードがあれ
ば、自動的に除去されることになる。
【0010】上記命令コード領域にあるオブジェクトコ
ードは、命令セット情報とハードウェア資源情報とオペ
レーティング・システム資源情報をもとに、逐次、高級
プログラム言語のソースコード命令文に変換される。
【0011】上記データ領域にあるデータ内容に対し
て、参照している命令セット情報とハードウェア資源情
報とオペレーティング・システム資源情報をもとに、デ
ータ領域を参照している命令の種類に応じて、データ領
域の内容を文字型や浮動小数点形式などの種別に分類す
る。これらの分類されたデータ形式に応じて、高級プロ
グラム言語の型宣言文やデータ定義文,構造定義文に変
換する。
【0012】上記により得られた高級プログラム言語の
データ定義文に参照名を付加し、高級プログラム言語の
ソースコード命令文を関連するデータ定義の参照名を用
いて書換える。この結果、実行可能な高級言語プログラ
ムが生成される。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0014】図1は本発明の一実施例のプログラム自動
変換装置の概念図である。同図において、与えられたコ
ンピュータ環境情報E1のもとで実行可能なオブジェク
トコードD1は、セグメント分割器P1により、命令コ
ード領域D2とデータコード領域D3に分割される。
【0015】続いて、命令コード領域D2は、命令コー
ド変換器P2により、コンピュータ環境情報E1の情報
をもとに、命令セットやOSプリミティブを解析し、高
級プログラム言語による命令文D4に変換される。ま
た、データコード領域D3にあるコードは、参照してい
る命令コードの種別に応じたデータ型を判別し、データ
構文変換器P3により、高級プログラム言語によるデー
タ定義文D5に変換される。
【0016】さらに、参照領域変換器P4が、高級プロ
グラム言語によるデータ定義文D5に対して、命令文が
利用するための参照名を付加し、命令文D4が参照名を
利用する形式に変換して高級言語プログラムD6を生成
する。
【0017】なお、コンピュータ環境情報E2は、新た
なターゲットとなるコンピュータの個有な情報を高級言
語プログラムD6に必要とする場合に、命令コード変換
器P2,データ構文変換器P3,参照領域変換器P4に
よって参照される。
【0018】本発明のプログラム自動変換装置は、実行
対象であるコンピュータの命令セット情報とハードウェ
ア資源情報とオペレーティング・システム資源情報をも
とに、与えられたプログラムのオブジェクトコードを解
析し、ハードウェア資源に依存しない高級プログラミン
グ言語に書き換える。
【0019】まず、与えられたプログラムのオブジェク
トコードを、実行対象であるコンピュータの命令セット
情報とハードウェア資源情報とオペレーティング・シス
テム資源情報をもとに、実行トレースを行う。すなわ
ち、オペレーティング・システム資源情報で規定されて
いる実行開始アドレスのオブジェクトコードをまず解析
し、命令コード領域として登録するとともに、その命令
を分析する。続いて、この命令の内容にしたがって、次
のオブジェクトコードを解析し、命令コード領域に加え
る。条件分岐についてはトレース可能な候補リストに加
え、現在のトレースを既に登録された命令コードに戻る
か、終了するまで進める。現在のトレースが終了した
ら、トレース可能な候補リストを順次対象として上記の
解析を進める。トレース可能な候補が無くなった時点で
解析は終了する。さらに、この解析の過程において命令
コードに応じてデータ領域にマーク付けを行ない、参照
アドレスコードを与える。この結果、オブジェクト全体
は命令コード領域とデータ領域に自動分類される。
【0020】分類された命令コード領域にあるオブジェ
クトコードに対して、命令セット情報とハードウェア資
源情報とオペレーティング・システム資源情報をもと
に、各オブジェクトコードに対応する高級プログラム言
語のソースコード命令文へ自動的に変換する。ここで、
データ領域やレジスタへの参照命令は、シンボリックな
参照アドレスを用いた表現に変換し、オペレーティング
システムに依存する命令は、参照するデータ領域の種別
に応じて、OSプリミティブ利用命令に変換する。この
結果、命令コード領域をすべてシンボリック表現に変換
して高級プログラム言語に変換することができる。
【0021】上記データ領域にあるデータ内容に対し
て、参照している命令セット情報と、ハードウェア資源
情報とオペレーティング・システム資源情報をもとに、
データ領域を参照している命令の種類に応じて、データ
領域の内容を文字型や浮動小数点形式などの種別に分類
し、高級プログラム言語のデータ定義文へ自動的に変換
する。命令の種類に応じて、ファイルコントロールブロ
ック(FCB)やデバイス制御ブロックなどのOS構造
体への変換を行なう。
【0022】上記のようにして得られた高級プログラム
言語のソースコード命令文に、その高級プログラム言語
のデータ定義文を付加する。さらに、オペレーティング
システム資源を利用する命令については、新たなターゲ
ットとなるコンピュータのオペレーティングシステムの
対応するプリミティブに変換し、実行可能な高級言語プ
ログラムに生成する。
【0023】
【発明の効果】以上説明したように本発明は、特定のコ
ンピュータ用に開発・運用されているプログラムのオブ
ジェクト・コードを高級言語プログラムに逆変換し、他
のコンピュータで実行可能なプログラムに変換する。例
えば、パーソナルコンピュータ上のMS−DOSで記述
されたプログラムのオブジェクトコードを、ワークステ
ーション上のUNIXで動くC言語などのソースコード
に変換することができる。したがって、従来プログラム
移植や保守に費やしていた膨大なソフトウェア開発工数
を大幅に低減することが可能である。
【図面の簡単な説明】
【図1】本発明の一実施例を示す概念図。
【符号の説明】
D1 オブジェクトコード D2 命令コード領域 D3 データコード領域 D4 命令文 D5 データ定義文 D6 高級言語プログラム P1 セグメント分割器 P2 命令コード変換器 P3 命令構文変換器 P4 参照領域変換器 E1,E2 コンピュータ環境情報

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 実行対象であるコンピュータの命令セッ
    ト情報とハードウェア資源情報とオペレーティング・シ
    ステム資源情報とに基づいてプログラムのオブジェクト
    コードを命令コード領域とデータ領域とに分類すること
    を特徴とするプログラム自動変換装置。
  2. 【請求項2】 命令セット情報とハードウェア資源情報
    とオペレーティング・システム資源情報とに基づいて前
    記命令コード領域にあるオブジェクトコードを高級プロ
    グラム言語のソースコード命令文に変換することを特徴
    とする請求項1記載のプログラム自動変換装置。
  3. 【請求項3】 参照している命令セット情報とハードウ
    ェア資源情報とオペレーティング・システム資源情報と
    に基づいて前記データ領域の内容を文字型や整数型など
    の種別に分類し、高級プログラム言語のデータ定義文に
    変換することを特徴とする請求項1または2記載のプロ
    グラム自動変換装置。
  4. 【請求項4】 前記高級プログラム言語のソースコード
    命令文と前記高級プログラミング言語のデータ定義文と
    により、他のコンピュータの環境情報を参照して前記コ
    ンピュータで実行する高級言語プログラムを生成するこ
    とを特徴とする請求項1または2または3記載のプログ
    ラム自動変換装置。
JP4237924A 1992-09-07 1992-09-07 プログラム自動変換装置 Withdrawn JPH0683630A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023050192A (ja) * 2021-09-29 2023-04-10 敦 黒川 情報処理装置、プログラム、データ構造、及び情報処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
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