JPH1011276A - プログラム移植方法 - Google Patents
プログラム移植方法Info
- Publication number
- JPH1011276A JPH1011276A JP8167898A JP16789896A JPH1011276A JP H1011276 A JPH1011276 A JP H1011276A JP 8167898 A JP8167898 A JP 8167898A JP 16789896 A JP16789896 A JP 16789896A JP H1011276 A JPH1011276 A JP H1011276A
- Authority
- JP
- Japan
- Prior art keywords
- code
- program
- source program
- language
- correspondence table
- 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.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】移植作業時間を短縮し、ソースプログラムの異
機種コンピュータ展開を迅速化する。 【解決手段】標準規格データベースに基づきソースプロ
グラムのコードが標準であるか否かを判断しソースプロ
グラムのコードが標準でないとき異機種コンパイラ間コ
ード対応表に基づきソースプログラムのコードが変換可
能であるか否かを判断する判断ステップ4,5と、ソー
スプログラムのコードが標準であるときソースプログラ
ムのコードを無変換とし、ソースプログラムのコードが
変換可能であるとき異機種コンパイラ間コード対応表に
基づきソースプログラムのコードを変換し、ソースプロ
グラムのコードが変換不能であるとき変換不能コードの
対応関係を調査し異機種コンパイラ間コード対応表に登
録し判断ステップ5に戻る処理ステップ6〜9と、を含
む。
機種コンピュータ展開を迅速化する。 【解決手段】標準規格データベースに基づきソースプロ
グラムのコードが標準であるか否かを判断しソースプロ
グラムのコードが標準でないとき異機種コンパイラ間コ
ード対応表に基づきソースプログラムのコードが変換可
能であるか否かを判断する判断ステップ4,5と、ソー
スプログラムのコードが標準であるときソースプログラ
ムのコードを無変換とし、ソースプログラムのコードが
変換可能であるとき異機種コンパイラ間コード対応表に
基づきソースプログラムのコードを変換し、ソースプロ
グラムのコードが変換不能であるとき変換不能コードの
対応関係を調査し異機種コンパイラ間コード対応表に登
録し判断ステップ5に戻る処理ステップ6〜9と、を含
む。
Description
【0001】
【発明の属する技術分野】本発明はプログラム移植方法
に関し、特に異機種コンピュータにそれぞれ搭載された
コンパイラで変換しプログラム移植するプログラム移植
方法に関する。
に関し、特に異機種コンピュータにそれぞれ搭載された
コンパイラで変換しプログラム移植するプログラム移植
方法に関する。
【0002】
【従来の技術】従来、この種のプログラム移植方法は、
異機種コンピュータに同一機能のプログラムを移植する
ため、広く用いられている。たとえば、図8は、この従
来のプログラム移植方法を示すフローチャートである。
図8を参照すると、このプログラム移植方法は、ステッ
プ21〜25の処理手順により、移植対象である高水準
言語記述のソースプログラムを移植先の異機種コンピュ
ータで動作するオブジェクトプログラムに変換し、移植
先の異機種コンピュータにプログラム移植する。
異機種コンピュータに同一機能のプログラムを移植する
ため、広く用いられている。たとえば、図8は、この従
来のプログラム移植方法を示すフローチャートである。
図8を参照すると、このプログラム移植方法は、ステッ
プ21〜25の処理手順により、移植対象である高水準
言語記述のソースプログラムを移植先の異機種コンピュ
ータで動作するオブジェクトプログラムに変換し、移植
先の異機種コンピュータにプログラム移植する。
【0003】まず、ステップ21において、移植先の異
機種コンピュータが、移植対象である高水準言語記述の
ソースプログラムを読み込み、ステップ22進む。
機種コンピュータが、移植対象である高水準言語記述の
ソースプログラムを読み込み、ステップ22進む。
【0004】ステップ22において、異機種コンピュー
タに搭載されたコンパイラでソースプログラムをオブジ
ェクトプログラムに変換する。このコンパイルが正常終
了した場合、ステップ25に進む。一方、コンパイルが
正常終了しない場合、ステップ23に進む。
タに搭載されたコンパイラでソースプログラムをオブジ
ェクトプログラムに変換する。このコンパイルが正常終
了した場合、ステップ25に進む。一方、コンパイルが
正常終了しない場合、ステップ23に進む。
【0005】ステップ23および24において、ソース
プログラムを解析し、この解析結果に基づきソースプロ
グラムを修正し、ステップ22に戻る。これら解析およ
び修正は、多くの場合、人手作業により行われる。
プログラムを解析し、この解析結果に基づきソースプロ
グラムを修正し、ステップ22に戻る。これら解析およ
び修正は、多くの場合、人手作業により行われる。
【0006】ステップ25において、ステップ22にお
いてコンパイルされたオブジェクトプログラムを搭載コ
ンピュータでデバッグする。このデバッグが正常終了し
ない場合、ステップ23に進み、デバッグが正常終了し
た場合、異機種コンピュータへのプログラム移植が完了
する。。
いてコンパイルされたオブジェクトプログラムを搭載コ
ンピュータでデバッグする。このデバッグが正常終了し
ない場合、ステップ23に進み、デバッグが正常終了し
た場合、異機種コンピュータへのプログラム移植が完了
する。。
【0007】また、他の従来のプログラム移植方法とし
て、たとえば、特開平2−50730号公報に記載され
た「共通機械語による言語変換方式」がある。
て、たとえば、特開平2−50730号公報に記載され
た「共通機械語による言語変換方式」がある。
【0008】この従来方法は、まず、移植するプログラ
ムをオブジェクトプログラムにコンパイルし、さらに、
このオブジェクトプログラムを共通機械語に変換する。
次に、この共通機械語から、異機種コンピュータ対応の
オブジェクトプログラムに変換し、プログラム移植する
方法である。この方法は、移植作業を単純化し、人手に
よる修正作業を削減できることが記載されている。。
ムをオブジェクトプログラムにコンパイルし、さらに、
このオブジェクトプログラムを共通機械語に変換する。
次に、この共通機械語から、異機種コンピュータ対応の
オブジェクトプログラムに変換し、プログラム移植する
方法である。この方法は、移植作業を単純化し、人手に
よる修正作業を削減できることが記載されている。。
【0009】
【発明が解決しようとする課題】図8に示した従来のプ
ログラム移植方法の問題点は、異機種コンピュータへプ
ログラムの移植を行う際、移植先コンピュータに搭載さ
れたコンパイラでコンパイルするときコンパイルエラー
が出力され、それらの解析および修正に多大な移植作業
時間を要することである。その理由は、移植元および移
植先コンピュータに搭載されているコンパイラが、ライ
ブラリ関数、定義、マクロ、ヘッダライブラリ、型など
の仕様で異なり、その仕様にプログラムを一致させる必
要があり、異なるコンパイラ毎の仕様の差に関する専門
的な知識も必要であるためである。
ログラム移植方法の問題点は、異機種コンピュータへプ
ログラムの移植を行う際、移植先コンピュータに搭載さ
れたコンパイラでコンパイルするときコンパイルエラー
が出力され、それらの解析および修正に多大な移植作業
時間を要することである。その理由は、移植元および移
植先コンピュータに搭載されているコンパイラが、ライ
ブラリ関数、定義、マクロ、ヘッダライブラリ、型など
の仕様で異なり、その仕様にプログラムを一致させる必
要があり、異なるコンパイラ毎の仕様の差に関する専門
的な知識も必要であるためである。
【0010】また、特開平2−50730号公報に記載
された従来のプログラム移植方法の問題点は、共通機械
語から移植先にて動作可能な機械語プログラムに変換す
るトランスレータに起因する不具合が発生したとき、こ
れら不具合対応のため移植作業時間が左右されることで
ある。その理由は、トランスレータが、可読性に乏しい
オブジェクトベースの機械語プログラムを利用しプログ
ラム変換しているためである。
された従来のプログラム移植方法の問題点は、共通機械
語から移植先にて動作可能な機械語プログラムに変換す
るトランスレータに起因する不具合が発生したとき、こ
れら不具合対応のため移植作業時間が左右されることで
ある。その理由は、トランスレータが、可読性に乏しい
オブジェクトベースの機械語プログラムを利用しプログ
ラム変換しているためである。
【0011】したがって、本発明の目的は、移植作業時
間を短縮し、ソースプログラムの異機種コンピュータ展
開を迅速化することにある。
間を短縮し、ソースプログラムの異機種コンピュータ展
開を迅速化することにある。
【0012】
【課題を解決するための手段】そのため、本発明は、異
機種コンピュータにそれぞれ搭載されたコンパイラでソ
ースプログラムをオブジェクトプログラムに変換し前記
異機種コンピュータにプログラム移植するプログラム移
植方法において、変換規則情報に基づいて、第1のコン
パイラで解読可能な第1のソースプログラムから第2の
コンパイラで解読可能な第2のソースプログラムに変換
するプログラム変換ステップを含んでいる。
機種コンピュータにそれぞれ搭載されたコンパイラでソ
ースプログラムをオブジェクトプログラムに変換し前記
異機種コンピュータにプログラム移植するプログラム移
植方法において、変換規則情報に基づいて、第1のコン
パイラで解読可能な第1のソースプログラムから第2の
コンパイラで解読可能な第2のソースプログラムに変換
するプログラム変換ステップを含んでいる。
【0013】また、前記変換規則情報が、標準規格とし
て定義されているコードを記述する標準規格データベー
スと、前記各コンパイラ間のコード対応関係を記述する
異機種コンパイラ間コード対応表と、を含んでいる。
て定義されているコードを記述する標準規格データベー
スと、前記各コンパイラ間のコード対応関係を記述する
異機種コンパイラ間コード対応表と、を含んでいる。
【0014】また、前記プログラム変換ステップが、前
記標準規格データベースに基づき前記ソースプログラム
のコードが標準であるか否かを判断し、前記ソースプロ
グラムのコードが標準でないとき前記異機種コンパイラ
間コード対応表に基づき前記ソースプログラムのコード
が変換可能であるか否かを判断する判断ステップと、前
記ソースプログラムのコードが標準であるとき前記ソー
スプログラムのコードを無変換とし、前記ソースプログ
ラムのコードが変換可能であるとき前記異機種コンパイ
ラ間コード対応表に基づき前記ソースプログラムのコー
ドを変換し、前記ソースプログラムのコードが変換不能
であるとき変換不能コードの対応関係を調査し前記異機
種コンパイラ間コード対応表に登録し前記判断ステップ
に戻る処理ステップと、を含んでいる。
記標準規格データベースに基づき前記ソースプログラム
のコードが標準であるか否かを判断し、前記ソースプロ
グラムのコードが標準でないとき前記異機種コンパイラ
間コード対応表に基づき前記ソースプログラムのコード
が変換可能であるか否かを判断する判断ステップと、前
記ソースプログラムのコードが標準であるとき前記ソー
スプログラムのコードを無変換とし、前記ソースプログ
ラムのコードが変換可能であるとき前記異機種コンパイ
ラ間コード対応表に基づき前記ソースプログラムのコー
ドを変換し、前記ソースプログラムのコードが変換不能
であるとき変換不能コードの対応関係を調査し前記異機
種コンパイラ間コード対応表に登録し前記判断ステップ
に戻る処理ステップと、を含んでいる。
【0015】さらに、前記変換規則情報が、同機種コン
ピュータで動作するアセンブリ言語および高水準言語間
のコード対応関係を記述する同機種言語間コード対応表
と、前記各コンピュータに対する前記各アセンブリ言語
間のコード対応関係を記述する異機種間アセンブリ言語
コード対応表と、を含み、前記処理ステップが、前記ソ
ースプログラムのコードが変換不能であるとき前記同機
種言語間コード対応表および前記異機種間アセンブリ言
語コード対応表に基づき前記変換不能コードの対応関係
を調査する調査ステップを含んでいる。
ピュータで動作するアセンブリ言語および高水準言語間
のコード対応関係を記述する同機種言語間コード対応表
と、前記各コンピュータに対する前記各アセンブリ言語
間のコード対応関係を記述する異機種間アセンブリ言語
コード対応表と、を含み、前記処理ステップが、前記ソ
ースプログラムのコードが変換不能であるとき前記同機
種言語間コード対応表および前記異機種間アセンブリ言
語コード対応表に基づき前記変換不能コードの対応関係
を調査する調査ステップを含んでいる。
【0016】さらに、前記調査ステップが、前記同機種
言語間コード対応表に基づき前記ソースプログラムを前
記アセンブリ言語で記述したアセンブリ言語プログラム
から前記変換不能コードに対応したアセンブリ言語記述
部分を抽出するステップと、前記異機種間アセンブリ言
語コード対応表に基づき移植先のコンパイラに対応した
アセンブリ言語記述部分に機種変換するステップと、前
記同機種言語間コード対応表に基づき同一動作を行うC
言語コードに言語変換するステップと、を含んでいる。
言語間コード対応表に基づき前記ソースプログラムを前
記アセンブリ言語で記述したアセンブリ言語プログラム
から前記変換不能コードに対応したアセンブリ言語記述
部分を抽出するステップと、前記異機種間アセンブリ言
語コード対応表に基づき移植先のコンパイラに対応した
アセンブリ言語記述部分に機種変換するステップと、前
記同機種言語間コード対応表に基づき同一動作を行うC
言語コードに言語変換するステップと、を含んでいる。
【0017】
【発明の実施の形態】次に、本発明を図面を参照して説
明する。図1は、本発明のプログラム移植方法の実施形
態1におけるプログラム変換ステップを示すフローチャ
ートである。
明する。図1は、本発明のプログラム移植方法の実施形
態1におけるプログラム変換ステップを示すフローチャ
ートである。
【0018】本実施形態のプログラム移植方法は、ま
ず、図1に示すステップ1〜9の処理手順に基づき、変
換規則情報に基づいて、移植対象である高水準言語記述
のソースプログラムを移植先の異機種コンピュータに搭
載されたコンパイラで解読可能なソースプログラムに変
換し、その後、異機種コンピュータにそれぞれ搭載され
たコンパイラでソースプログラムをオブジェクトプログ
ラムに変換し、異機種コンピュータにプログラム移植す
る。
ず、図1に示すステップ1〜9の処理手順に基づき、変
換規則情報に基づいて、移植対象である高水準言語記述
のソースプログラムを移植先の異機種コンピュータに搭
載されたコンパイラで解読可能なソースプログラムに変
換し、その後、異機種コンピュータにそれぞれ搭載され
たコンパイラでソースプログラムをオブジェクトプログ
ラムに変換し、異機種コンピュータにプログラム移植す
る。
【0019】図1を参照し、C言語を利用したソースプ
ログラムを異機種コンピュータへの移植する例を用い
て、本実施形態のプログラム移植方法におけるプログラ
ム変換ステップを説明する。
ログラムを異機種コンピュータへの移植する例を用い
て、本実施形態のプログラム移植方法におけるプログラ
ム変換ステップを説明する。
【0020】まず、ステップ1において、移植対象であ
るC言語記述のソースプログラムを移植先の異機種コン
ピュータに搭載されたコンパイラで解読可能なソースプ
ログラムに変換する変換規則情報として、標準規格デー
タベース,異機種コンパイラ間Cコード対応表を読み込
み、ステップ2に進む。
るC言語記述のソースプログラムを移植先の異機種コン
ピュータに搭載されたコンパイラで解読可能なソースプ
ログラムに変換する変換規則情報として、標準規格デー
タベース,異機種コンパイラ間Cコード対応表を読み込
み、ステップ2に進む。
【0021】標準規格データベースは、ANSI規格な
どで定義されている標準的な規格情報を記述したデータ
ベースである。たとえば、図2は、この標準規格データ
ベースの記述例を示す説明図である。標準的な規格情報
として、ライブラリ関数,定義,マクロ Cコード,ラ
イブラリ(ヘッダ),概要,型が記述されている。
どで定義されている標準的な規格情報を記述したデータ
ベースである。たとえば、図2は、この標準規格データ
ベースの記述例を示す説明図である。標準的な規格情報
として、ライブラリ関数,定義,マクロ Cコード,ラ
イブラリ(ヘッダ),概要,型が記述されている。
【0022】また、異機種コンパイラ間Cコード対応表
は、機種やコンパイラに依存するコードについて異機種
コンパイラ間のコード対応関係を記述したデータベース
である。たとえば、図3は、この異機種コンパイラ間C
コード対応表の記述例を示す説明図である。コード対応
関係を記述する情報として、機種名およびコンパイラ
名,機種およびコンパイラに依存するコード,異機種コ
ンパイラ間のコード対応関係が記述されている。
は、機種やコンパイラに依存するコードについて異機種
コンパイラ間のコード対応関係を記述したデータベース
である。たとえば、図3は、この異機種コンパイラ間C
コード対応表の記述例を示す説明図である。コード対応
関係を記述する情報として、機種名およびコンパイラ
名,機種およびコンパイラに依存するコード,異機種コ
ンパイラ間のコード対応関係が記述されている。
【0023】ステップ2において、移植または変換対象
であるC言語記述のソースプログラムを読み込み、ステ
ップ3に進む。
であるC言語記述のソースプログラムを読み込み、ステ
ップ3に進む。
【0024】ステップ3において、プログラム変換ステ
ップにおける動作モードを制御する動作モード制御ファ
イルを読み込み、ステップ4に進む。この動作モード制
御ファイルは、プログラム変換ステップにおける動作モ
ードを制御するための定義情報を記述するデータベース
である。たとえば、図4は、この動作モード制御ファイ
ルの記述例を示す説明図である。定義情報として、移植
元および移植先のソースプログラム名,コンピュータ機
種名,コンパイラ名が、第1および第2のソースプログ
ラム名,コンピュータ機種名,コンパイラ名として定義
されている。
ップにおける動作モードを制御する動作モード制御ファ
イルを読み込み、ステップ4に進む。この動作モード制
御ファイルは、プログラム変換ステップにおける動作モ
ードを制御するための定義情報を記述するデータベース
である。たとえば、図4は、この動作モード制御ファイ
ルの記述例を示す説明図である。定義情報として、移植
元および移植先のソースプログラム名,コンピュータ機
種名,コンパイラ名が、第1および第2のソースプログ
ラム名,コンピュータ機種名,コンパイラ名として定義
されている。
【0025】ステップ4において、変換規則情報として
読み込まれた標準規格データベースに基づき、変換対象
であるC言語ソースプログラムのコードが標準であるか
否かを判断する。C言語ソースプログラムのコードが標
準であるとき、異なるコンパイラにてコンパイル可能と
判断し、ステップ9に進み、変換を行わずそのまま出力
する。一方、C言語ソースプログラムのコードが標準で
ないとき、ステップ5に進む。
読み込まれた標準規格データベースに基づき、変換対象
であるC言語ソースプログラムのコードが標準であるか
否かを判断する。C言語ソースプログラムのコードが標
準であるとき、異なるコンパイラにてコンパイル可能と
判断し、ステップ9に進み、変換を行わずそのまま出力
する。一方、C言語ソースプログラムのコードが標準で
ないとき、ステップ5に進む。
【0026】ステップ5において、変換規則情報として
読み込まれた異機種コンパイラ間コード対応表および動
作モード制御ファイルに基づき、変換対象であるC言語
ソースプログラムのコードが変換可能であるか否かを判
断する。C言語ソースプログラムのコードが変換可能で
あるとき、ステップ9に進み、異機種コンパイラ間コー
ド対応表に基づき、変換対象となるC言語ソースプログ
ラムのコードを移植先の異機種コンピュータに搭載され
たコンパイラで解読可能なソースプログラムに変換し、
ステップ9に進む。一方、C言語ソースプログラムのコ
ードが変換不能であるとき、ステップ7に進む。
読み込まれた異機種コンパイラ間コード対応表および動
作モード制御ファイルに基づき、変換対象であるC言語
ソースプログラムのコードが変換可能であるか否かを判
断する。C言語ソースプログラムのコードが変換可能で
あるとき、ステップ9に進み、異機種コンパイラ間コー
ド対応表に基づき、変換対象となるC言語ソースプログ
ラムのコードを移植先の異機種コンピュータに搭載され
たコンパイラで解読可能なソースプログラムに変換し、
ステップ9に進む。一方、C言語ソースプログラムのコ
ードが変換不能であるとき、ステップ7に進む。
【0027】ステップ7において、変換不能コードの対
応関係を調査する。たとえば、異機種コンパイラ間コー
ド対応表に変換ルールが記述されていない変換不能コー
ドが存在することを出力し、場合によっては、変換不能
コードに対するコード対応関係を人手で調査し、ステッ
プ8に進む。
応関係を調査する。たとえば、異機種コンパイラ間コー
ド対応表に変換ルールが記述されていない変換不能コー
ドが存在することを出力し、場合によっては、変換不能
コードに対するコード対応関係を人手で調査し、ステッ
プ8に進む。
【0028】ステップ8において、変換不能コードに対
するコード対応関係を異機種コンパイラ間コード対応表
に登録し、ステップ5に戻る。
するコード対応関係を異機種コンパイラ間コード対応表
に登録し、ステップ5に戻る。
【0029】本実施形態のプログラム移植方法は、以上
のプログラム変換ステップにより、移植対象のC言語ソ
ースプログラムを、移植先の異機種コンピュータに搭載
されたコンパイラで解読可能なC言語ソースプログラム
にプログラム変換し、その後、オブジェクトプログラム
に変換し、移植先の異機種コンピュータにプログラム移
植する。
のプログラム変換ステップにより、移植対象のC言語ソ
ースプログラムを、移植先の異機種コンピュータに搭載
されたコンパイラで解読可能なC言語ソースプログラム
にプログラム変換し、その後、オブジェクトプログラム
に変換し、移植先の異機種コンピュータにプログラム移
植する。
【0030】図5は、本発明のプログラム移植方法の実
施形態2におけるプログラム変換ステップを示すフロー
チャートである。
施形態2におけるプログラム変換ステップを示すフロー
チャートである。
【0031】図5を参照すると、本実施形態のプログラ
ム移植方法は、図1の実施形態1のプログラム移植方法
と同じく、ステップ1〜9の処理手順に基づき、変換規
則情報に基づいて、移植対象である高水準言語記述のソ
ースプログラムを移植先の異機種コンピュータに搭載さ
れたコンパイラで解読可能なソースプログラムに変換
し、その後、異機種コンピュータにそれぞれ搭載された
コンパイラでソースプログラムをオブジェクトプログラ
ムに変換し、異機種コンピュータにプログラム移植す
る。
ム移植方法は、図1の実施形態1のプログラム移植方法
と同じく、ステップ1〜9の処理手順に基づき、変換規
則情報に基づいて、移植対象である高水準言語記述のソ
ースプログラムを移植先の異機種コンピュータに搭載さ
れたコンパイラで解読可能なソースプログラムに変換
し、その後、異機種コンピュータにそれぞれ搭載された
コンパイラでソースプログラムをオブジェクトプログラ
ムに変換し、異機種コンピュータにプログラム移植す
る。
【0032】図1の実施形態1のプログラム移植方法と
の相違点は、ステップ1,2,7の内部処理にあり、こ
れら各ステップについて次に説明し、他の各ステップに
ついての重複説明を省略する。
の相違点は、ステップ1,2,7の内部処理にあり、こ
れら各ステップについて次に説明し、他の各ステップに
ついての重複説明を省略する。
【0033】まず、ステップ1において、図1の実施形
態1と同じく、移植対象であるC言語記述のソースプロ
グラムを移植先の異機種コンピュータに搭載されたコン
パイラで解読可能なソースプログラムに変換する変換規
則情報として、標準規格データベース,異機種コンパイ
ラ間Cコード対応表を読み込む。このとき、本実施形態
では、さらに、変換規則情報として、同機種言語間コー
ド対応表および異機種間アセンブリ言語コード対応表を
読み込み、ステップ2に進む。
態1と同じく、移植対象であるC言語記述のソースプロ
グラムを移植先の異機種コンピュータに搭載されたコン
パイラで解読可能なソースプログラムに変換する変換規
則情報として、標準規格データベース,異機種コンパイ
ラ間Cコード対応表を読み込む。このとき、本実施形態
では、さらに、変換規則情報として、同機種言語間コー
ド対応表および異機種間アセンブリ言語コード対応表を
読み込み、ステップ2に進む。
【0034】同機種言語間コード対応表は、同機種コン
ピュータで動作するアセンブリ言語および高水準言語間
のコード対応関係を記述するデータベースである。たと
えば、図6は、この同機種言語間コード対応表の記述例
を示す説明図である。コード対応関係として、図3の機
種コンパイラ定義A,B,…に対して、各機種コンパイ
ラに依存するC言語コード,それをアセンブリ言語化し
た同意のアセンブリ言語コードが記述されている。
ピュータで動作するアセンブリ言語および高水準言語間
のコード対応関係を記述するデータベースである。たと
えば、図6は、この同機種言語間コード対応表の記述例
を示す説明図である。コード対応関係として、図3の機
種コンパイラ定義A,B,…に対して、各機種コンパイ
ラに依存するC言語コード,それをアセンブリ言語化し
た同意のアセンブリ言語コードが記述されている。
【0035】異機種間アセンブリ言語コード対応表は、
各異機種コンピュータに対する各アセンブリ言語間のコ
ード対応関係を記述するデータベースである。たとえ
ば、図7は、この異機種間アセンブリ言語コード対応表
の記述例を示す説明図である。コード対応関係として、
図3の機種コンパイラ定義A,B,…に対して、各アセ
ンブリ言語の命令語が、対応づけて記述されている。
各異機種コンピュータに対する各アセンブリ言語間のコ
ード対応関係を記述するデータベースである。たとえ
ば、図7は、この異機種間アセンブリ言語コード対応表
の記述例を示す説明図である。コード対応関係として、
図3の機種コンパイラ定義A,B,…に対して、各アセ
ンブリ言語の命令語が、対応づけて記述されている。
【0036】ステップ2において、図1の実施形態1と
同じく、移植および変換対象であるC言語ソースプログ
ラムを読み込む。このとき、本実施形態では、さらに、
C言語ソースプログラムをアセンブリ言語で記述したア
センブリ言語プログラムを読み込み、ステップ3に進
む。
同じく、移植および変換対象であるC言語ソースプログ
ラムを読み込む。このとき、本実施形態では、さらに、
C言語ソースプログラムをアセンブリ言語で記述したア
センブリ言語プログラムを読み込み、ステップ3に進
む。
【0037】ステップ7において、図1の実施形態1と
同じく、変換不能コードの対応関係を調査する。この調
査が、本実施形態では、次の処理手順で実行される。
同じく、変換不能コードの対応関係を調査する。この調
査が、本実施形態では、次の処理手順で実行される。
【0038】まず、ステップ18において、C言語ソー
スプログラムをアセンブリ言語で記述したアセンブリ言
語プログラムから、変換不能コードに対応したアセンブ
リ言語記述部分を抽出し、ステップ19に進む。
スプログラムをアセンブリ言語で記述したアセンブリ言
語プログラムから、変換不能コードに対応したアセンブ
リ言語記述部分を抽出し、ステップ19に進む。
【0039】ステップ19において、異機種間アセンブ
リ言語コード対応表に基づき、変換不能コードに対応し
たアセンブリ言語記述部分を移植先のコンパイラに対応
したアセンブリ言語記述部分に機種変換し、ステップ2
0に進む。
リ言語コード対応表に基づき、変換不能コードに対応し
たアセンブリ言語記述部分を移植先のコンパイラに対応
したアセンブリ言語記述部分に機種変換し、ステップ2
0に進む。
【0040】ステップ20において、同機種言語間コー
ド対応表に基づき、ステップ20で変換された移植先の
コンパイラに対応したアセンブリ言語記述部分を更に同
一動作を行うC言語コードに言語変換し、変換不能コー
ドの対応関係を求め、ステップ8に進む。
ド対応表に基づき、ステップ20で変換された移植先の
コンパイラに対応したアセンブリ言語記述部分を更に同
一動作を行うC言語コードに言語変換し、変換不能コー
ドの対応関係を求め、ステップ8に進む。
【0041】本実施形態のプログラム移植方法は、移植
対象のC言語ソースプログラムのコードが変換不能コー
ドであるとき、変換不能コードに対応するアセンブリ言
語記述部分を抽出,機種変換および言語変換して変換不
能コードのコード対応関係を調査しコード対応表に登録
する学習機能を持つプログラム変換ステップにより、移
植先の異機種コンピュータに搭載されたコンパイラで解
読可能なソースプログラムにプログラム変換し、その
後、オブジェクトプログラムに変換し、移植先の異機種
コンピュータにプログラム移植する。
対象のC言語ソースプログラムのコードが変換不能コー
ドであるとき、変換不能コードに対応するアセンブリ言
語記述部分を抽出,機種変換および言語変換して変換不
能コードのコード対応関係を調査しコード対応表に登録
する学習機能を持つプログラム変換ステップにより、移
植先の異機種コンピュータに搭載されたコンパイラで解
読可能なソースプログラムにプログラム変換し、その
後、オブジェクトプログラムに変換し、移植先の異機種
コンピュータにプログラム移植する。
【0042】
【発明の効果】第1の効果は、異機種コンピュータにプ
ログラム移植するとき、移植作業時間をほぼゼロ時間に
短縮でき、ソースプログラムの異機種コンピュータ展開
が迅速化されることである。その理由は、移植先の異機
種コンピュータに搭載されたコンパイラで解読可能なソ
ースプログラムに事前にプログラム変換でき、移植先コ
ンパイラにてコンパイルするとき、コンパイルエラー発
生が無いため、エラー発生に伴うデバック時間または不
具合対応時間が不必要となるからである。
ログラム移植するとき、移植作業時間をほぼゼロ時間に
短縮でき、ソースプログラムの異機種コンピュータ展開
が迅速化されることである。その理由は、移植先の異機
種コンピュータに搭載されたコンパイラで解読可能なソ
ースプログラムに事前にプログラム変換でき、移植先コ
ンパイラにてコンパイルするとき、コンパイルエラー発
生が無いため、エラー発生に伴うデバック時間または不
具合対応時間が不必要となるからである。
【0043】第2の効果は、事前のプログラム変換でエ
ラー発生があるときも修正対応が容易であり、専門知識
がなくともプログラム移植できることである。その理由
は、各異機種コンピュータにおける各コンパイラ仕様の
差を事前にデータベース化し、且つ、可読可能なソース
プログラムに対してプログラム変換を行っているためで
ある。
ラー発生があるときも修正対応が容易であり、専門知識
がなくともプログラム移植できることである。その理由
は、各異機種コンピュータにおける各コンパイラ仕様の
差を事前にデータベース化し、且つ、可読可能なソース
プログラムに対してプログラム変換を行っているためで
ある。
【図1】本発明のプログラム移植方法の実施形態1にお
けるプログラム変換ステップを示すフローチャートであ
る。
けるプログラム変換ステップを示すフローチャートであ
る。
【図2】図1の標準規格データベースの記述例を示す説
明図である。
明図である。
【図3】図1の異機種コンパイラ間Cコード対応表の記
述例を示す説明図である。
述例を示す説明図である。
【図4】図1の動作モード制御ファイルの記述例を示す
説明図である。
説明図である。
【図5】本発明のプログラム移植方法の実施形態2にお
けるプログラム変換ステップを示すフローチャートであ
る。
けるプログラム変換ステップを示すフローチャートであ
る。
【図6】図5の同機種言語間コード対応表の記述例を示
す説明図である。
す説明図である。
【図7】図5の異機種間アセンブリ言語コード対応表の
記述例を示す説明図である。
記述例を示す説明図である。
【図8】従来のプログラム移植方法を示すフローチャー
トである。
トである。
1〜20 プログラム移植方法におけるプログラム変
換のステップ 21〜25 プログラム移植のステップ
換のステップ 21〜25 プログラム移植のステップ
Claims (5)
- 【請求項1】 異機種コンピュータにそれぞれ搭載され
たコンパイラでソースプログラムをオブジェクトプログ
ラムに変換し前記異機種コンピュータにプログラム移植
するプログラム移植方法において、変換規則情報に基づ
いて、第1のコンパイラで解読可能な第1のソースプロ
グラムから第2のコンパイラで解読可能な第2のソース
プログラムに変換するプログラム変換ステップを含むこ
とを特徴とするプログラム移植方法。 - 【請求項2】 前記変換規則情報が、標準規格として定
義されているコードを記述する標準規格データベース
と、前記各コンパイラ間のコード対応関係を記述する異
機種コンパイラ間コード対応表と、を含む、請求項1記
載のプログラム移植方法。 - 【請求項3】 前記プログラム変換ステップが、前記標
準規格データベースに基づき前記ソースプログラムのコ
ードが標準であるか否かを判断し、前記ソースプログラ
ムのコードが標準でないとき前記異機種コンパイラ間コ
ード対応表に基づき前記ソースプログラムのコードが変
換可能であるか否かを判断する判断ステップと、前記ソ
ースプログラムのコードが標準であるとき前記ソースプ
ログラムのコードを無変換とし、前記ソースプログラム
のコードが変換可能であるとき前記異機種コンパイラ間
コード対応表に基づき前記ソースプログラムのコードを
変換し、前記ソースプログラムのコードが変換不能であ
るとき変換不能コードの対応関係を調査し前記異機種コ
ンパイラ間コード対応表に登録し前記判断ステップに戻
る処理ステップと、を含む、請求項1または2記載のプ
ログラム移植方法。 - 【請求項4】 前記変換規則情報が、同機種コンピュー
タで動作するアセンブリ言語および高水準言語間のコー
ド対応関係を記述する同機種言語間コード対応表と、前
記各コンピュータに対する前記各アセンブリ言語間のコ
ード対応関係を記述する異機種間アセンブリ言語コード
対応表と、を含み、前記処理ステップが、前記ソースプ
ログラムのコードが変換不能であるとき前記同機種言語
間コード対応表および前記異機種間アセンブリ言語コー
ド対応表に基づき前記変換不能コードの対応関係を調査
する調査ステップを含む、請求項1,2または3記載の
プログラム移植方法。 - 【請求項5】 前記調査ステップが、前記同機種言語間
コード対応表に基づき、前記ソースプログラムを前記ア
センブリ言語で記述したアセンブリ言語プログラムから
前記変換不能コードに対応したアセンブリ言語記述部分
を抽出するステップと、前記異機種間アセンブリ言語コ
ード対応表に基づき、移植先のコンパイラに対応したア
センブリ言語記述部分に機種変換するステップと、前記
同機種言語間コード対応表に基づき、同一動作を行うC
言語コードに言語変換するステップと、を含む、請求項
4記載のプログラム移植方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8167898A JPH1011276A (ja) | 1996-06-27 | 1996-06-27 | プログラム移植方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8167898A JPH1011276A (ja) | 1996-06-27 | 1996-06-27 | プログラム移植方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1011276A true JPH1011276A (ja) | 1998-01-16 |
Family
ID=15858108
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8167898A Pending JPH1011276A (ja) | 1996-06-27 | 1996-06-27 | プログラム移植方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1011276A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100575956B1 (ko) * | 1998-05-14 | 2006-08-30 | 삼성전자주식회사 | 무선이동통신 서비스를 위한 표준화된 가입자 정보의 생성 및 특정 사업자 정보로의 변환 방법 |
| JP2009151422A (ja) * | 2007-12-19 | 2009-07-09 | Kddi Corp | プロセッサデバイスに基づくソースコード変換プログラム及び装置 |
| CN115629802A (zh) * | 2022-10-19 | 2023-01-20 | 北京奕斯伟计算技术股份有限公司 | 程序移植处理方法及装置 |
-
1996
- 1996-06-27 JP JP8167898A patent/JPH1011276A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100575956B1 (ko) * | 1998-05-14 | 2006-08-30 | 삼성전자주식회사 | 무선이동통신 서비스를 위한 표준화된 가입자 정보의 생성 및 특정 사업자 정보로의 변환 방법 |
| JP2009151422A (ja) * | 2007-12-19 | 2009-07-09 | Kddi Corp | プロセッサデバイスに基づくソースコード変換プログラム及び装置 |
| CN115629802A (zh) * | 2022-10-19 | 2023-01-20 | 北京奕斯伟计算技术股份有限公司 | 程序移植处理方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4057938B2 (ja) | コンパイラ、コンパイル方法、及びプログラム開発ツール | |
| IE920749A1 (en) | Automatic flowgraph generation for program analysis and¹translation | |
| JP2001522084A (ja) | 機械語記述からisaシミュレータとアセンブラを生成する方法 | |
| US20020049698A1 (en) | Programming supporting method and programming support device | |
| CN112363729B (zh) | 用于静态分析的多编译器混合编译的监控方法及装置 | |
| CN114781330A (zh) | 一种基于需求建模的类型检查方法 | |
| JPH1173328A (ja) | コーディング規約チェックシステム | |
| CN114281336A (zh) | 一种软件接口的适配方法、装置及其系统 | |
| JPH10289102A (ja) | プログラムのデータフロー解析装置 | |
| JPH07121379A (ja) | 複数言語混在コンパイラ | |
| JP2001060151A (ja) | プログラム解析装置及びプログラム解析用プログラム又はプログラム解析用データを記憶した記憶媒体 | |
| JPH10312313A (ja) | C言語の計算機プログラム検査処理方法およびプログラム記憶媒体 | |
| JP2728504B2 (ja) | 入力命令文検査装置 | |
| JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
| JPH0561687A (ja) | コンパイラの処理方式 | |
| JP2764782B2 (ja) | Cobolプログラムのデータ構造展開方式 | |
| CN119440618A (zh) | 基于词法分析的应用程序接口文档自动生成方法和系统 | |
| CN118965373A (zh) | 一种针对Move智能合约的漏洞检测方法及系统 | |
| JP3018783B2 (ja) | コンパイル方式 | |
| CN116737175A (zh) | 译码方法、文件解析方法、解析器、系统及存储介质 | |
| CN117992183A (zh) | 一种事件响应方法、系统、电子设备及存储介质 | |
| JPH10307735A (ja) | C++言語の計算機プログラム検査処理方法およびプログラム記憶媒体 | |
| JP2002287966A (ja) | データ項目辞書生成方法 | |
| JPH02190935A (ja) | 構文解析ルールの組込機能を持つプログラムのコンパイル方式 | |
| JPH10312312A (ja) | 仕様によって動作が変わるc言語の計算機プログラム検査処理方法およびプログラム記憶媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19991005 |