JPH09190355A - プログラム変換方法 - Google Patents
プログラム変換方法Info
- Publication number
- JPH09190355A JPH09190355A JP212296A JP212296A JPH09190355A JP H09190355 A JPH09190355 A JP H09190355A JP 212296 A JP212296 A JP 212296A JP 212296 A JP212296 A JP 212296A JP H09190355 A JPH09190355 A JP H09190355A
- Authority
- JP
- Japan
- Prior art keywords
- program
- converted
- company
- conversion method
- programs
- 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
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 異なるシステムで開発された同じ言語のプロ
グラムを、種類を増やすことなく利用する。 【解決手段】このプログラム変換方法は、あるシステム
Aでプログラムを生成する場合、システムA固有のロジ
ック部分をifdef文で囲んで記述し、このシステム
Aのプログラムaを他のシステムB用に変換する場合、
システムAとシステムBとの共通ロジック部分s1を飛
び越してシステムB固有のロジック部分b1を抽出し、
このロジック部分b1をシステムB用に変換し、これに
よりプログラムa/bが作成される。
グラムを、種類を増やすことなく利用する。 【解決手段】このプログラム変換方法は、あるシステム
Aでプログラムを生成する場合、システムA固有のロジ
ック部分をifdef文で囲んで記述し、このシステム
Aのプログラムaを他のシステムB用に変換する場合、
システムAとシステムBとの共通ロジック部分s1を飛
び越してシステムB固有のロジック部分b1を抽出し、
このロジック部分b1をシステムB用に変換し、これに
よりプログラムa/bが作成される。
Description
【0001】
【発明の属する技術分野】本発明は、プログラム変換方
法に関する。
法に関する。
【0002】
【従来の技術】従来から、コンパイラなどでは、ある言
語で記述されたプログラムを他のシステム用のプログラ
ムへ変換することが行われているが、変換後はプログラ
ムの種類が増えるため、後の保守管理が大変である。
語で記述されたプログラムを他のシステム用のプログラ
ムへ変換することが行われているが、変換後はプログラ
ムの種類が増えるため、後の保守管理が大変である。
【0003】さらに、近年では、OA機器の販売競争力
の激化に伴って、一つの会社で、異なる複数社製のシス
テム(ワークステーション(以下WSと称する))を導
入することがよくある。
の激化に伴って、一つの会社で、異なる複数社製のシス
テム(ワークステーション(以下WSと称する))を導
入することがよくある。
【0004】この場合、例えばA社製のWSと、B社製
のWSとを同じ会社内で使用することになる。
のWSとを同じ会社内で使用することになる。
【0005】一方、ソフトウェア開発に携わる設計者
は、それぞれのWSに専属する形でソフトウェアを開発
しており、各社製のWSで、類似するソフトウェアが開
発される可能性もある。
は、それぞれのWSに専属する形でソフトウェアを開発
しており、各社製のWSで、類似するソフトウェアが開
発される可能性もある。
【0006】そこで、A社製のWSとB社製のWSによ
って開発されたそれぞれのソフトウェアを相互に利用す
る試みが開始されているが、この場合、同じ言語であっ
ても、それぞれのシステムには、システム特有のロジッ
クがあるため、必ず別のソフトウェアとして変換処理す
ることになる。
って開発されたそれぞれのソフトウェアを相互に利用す
る試みが開始されているが、この場合、同じ言語であっ
ても、それぞれのシステムには、システム特有のロジッ
クがあるため、必ず別のソフトウェアとして変換処理す
ることになる。
【0007】図3に示すように、例えばA社製のWSで
開発したあるプログラムaを、B社製のWSで使用可能
にするためにそのプログラムをコンパイラ31で変換処
理する場合、プログラムa中のA社特有のロジック部分
をコメント文などに記述し直し、その部分は変換されな
いようにした上で、プログラムaをコンパイラ31にか
ける必要がある。
開発したあるプログラムaを、B社製のWSで使用可能
にするためにそのプログラムをコンパイラ31で変換処
理する場合、プログラムa中のA社特有のロジック部分
をコメント文などに記述し直し、その部分は変換されな
いようにした上で、プログラムaをコンパイラ31にか
ける必要がある。
【0008】しかしながら、この場合、コンパイラ31
によって変換されたB社用のプログラムbと、元のA社
用のプログラムaとの2つができてしまい、各プログラ
ムa、bを保守する際、それぞれのプログラムa、bに
ついて保守する必要があり、さらに導入する社が多くな
ればなるほどプログラムの種類が増え、保守が大変にな
る。
によって変換されたB社用のプログラムbと、元のA社
用のプログラムaとの2つができてしまい、各プログラ
ムa、bを保守する際、それぞれのプログラムa、bに
ついて保守する必要があり、さらに導入する社が多くな
ればなるほどプログラムの種類が増え、保守が大変にな
る。
【0009】
【発明が解決しようとする課題】このように上述した従
来のプログラム変換方法では、あるシステムで開発した
プログラムを他のシステムで利用できるように変換する
場合、各社特有のロジック部分をコメント文として記述
し直した上で、プログラムをコンパイルするため、これ
によって変換元と変換後のものとの2つのプログラムが
できてしまい、後にプログラムを保守することが大変に
なるという問題があった本発明はこのような課題を解決
するためになされたもので、異なる会社のシステムを利
用する場合にプログラムを増やす必要がなく、これによ
りプログラムの保守が容易に行えるプログラム変換方法
を提供することを目的としている。
来のプログラム変換方法では、あるシステムで開発した
プログラムを他のシステムで利用できるように変換する
場合、各社特有のロジック部分をコメント文として記述
し直した上で、プログラムをコンパイルするため、これ
によって変換元と変換後のものとの2つのプログラムが
できてしまい、後にプログラムを保守することが大変に
なるという問題があった本発明はこのような課題を解決
するためになされたもので、異なる会社のシステムを利
用する場合にプログラムを増やす必要がなく、これによ
りプログラムの保守が容易に行えるプログラム変換方法
を提供することを目的としている。
【0010】
【課題を解決するための手段】上記した目的を達成する
ために、請求項1記載のプログラム変換方法は、第1の
システムで作成されるプログラム中に、第1のシステム
固有のロジック部分とこの第1のシステムとは異なる第
2のシステム固有のロジック部分とを示す所定のコンパ
イル記述子を記述してプログラムを作成する工程と、前
記第1のシステムで作成されたプログラムを前記第2の
システム用に変換する場合、前記第1のシステムと前記
第2のシステムとの共通ロジック部分は飛び越し前記コ
ンパイル記述子によって指示された前記第2のシステム
固有のロジック部分を抽出する工程と、抽出された前記
第2のシステム固有のロジック部分を前記第2のシステ
ム用に変換する工程とを有することを特徴としている。
ために、請求項1記載のプログラム変換方法は、第1の
システムで作成されるプログラム中に、第1のシステム
固有のロジック部分とこの第1のシステムとは異なる第
2のシステム固有のロジック部分とを示す所定のコンパ
イル記述子を記述してプログラムを作成する工程と、前
記第1のシステムで作成されたプログラムを前記第2の
システム用に変換する場合、前記第1のシステムと前記
第2のシステムとの共通ロジック部分は飛び越し前記コ
ンパイル記述子によって指示された前記第2のシステム
固有のロジック部分を抽出する工程と、抽出された前記
第2のシステム固有のロジック部分を前記第2のシステ
ム用に変換する工程とを有することを特徴としている。
【0011】この発明の場合、第1のシステムで生成さ
れたプログラムを第2のシステム用に変換する場合、第
2のシステム固有のロジック部分のみが抽出されて変換
される。したがって、第1のシステムと第2のシステム
との共通ロジック部分は変換後も変わらない。
れたプログラムを第2のシステム用に変換する場合、第
2のシステム固有のロジック部分のみが抽出されて変換
される。したがって、第1のシステムと第2のシステム
との共通ロジック部分は変換後も変わらない。
【0012】すなわち、1つのプログラム中で各システ
ム固有部分のみが変換されるだけで、異なる会社のシス
テムに利用できるようになる。
ム固有部分のみが変換されるだけで、異なる会社のシス
テムに利用できるようになる。
【0013】したがって、変換後のプログラムを保守す
る場合は、互いの共通ロジック部分を修正することにな
るので、プログラムの保守を一回の作業で行えるように
なる。
る場合は、互いの共通ロジック部分を修正することにな
るので、プログラムの保守を一回の作業で行えるように
なる。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。
を参照して詳細に説明する。
【0015】図1は本発明に係るプログラム変換方法を
示す図である。
示す図である。
【0016】同図において、1は変換前プログラム格納
部であり、システムAで生成されたプログラム(ソフト
ウェア)A1が格納されている。2はコンパイラであ
り、プログラム変換時にプログラム格納部1からシステ
ムAで生成されたプログラムA1を読み出し、記述順に
システムB用のものに変換する機能を有している。3は
変換後プログラム格納部であり、コンパイラ2により変
換されたプログラムが格納される。
部であり、システムAで生成されたプログラム(ソフト
ウェア)A1が格納されている。2はコンパイラであ
り、プログラム変換時にプログラム格納部1からシステ
ムAで生成されたプログラムA1を読み出し、記述順に
システムB用のものに変換する機能を有している。3は
変換後プログラム格納部であり、コンパイラ2により変
換されたプログラムが格納される。
【0017】このプログラム変換方法では、システムA
からシステムBへプログラムを移行する場合、あるプロ
グラム内のシステムA固有の記述が、コンパイラ2にお
いてシステムB固有の記述へ変換されるものとする。
からシステムBへプログラムを移行する場合、あるプロ
グラム内のシステムA固有の記述が、コンパイラ2にお
いてシステムB固有の記述へ変換されるものとする。
【0018】このとき、図2に示すように、コンパイラ
2が作成するソースプログラム、例えばC言語で記述さ
れたプログラム中、システムAとシステムBとの共通ロ
ジック部分s1があり、その下に、システムA用の選択
コンパイル記述子である#ifdef aを記述し、こ
の下にシステムA固有のロジックa1を記述して#el
seで止める。
2が作成するソースプログラム、例えばC言語で記述さ
れたプログラム中、システムAとシステムBとの共通ロ
ジック部分s1があり、その下に、システムA用の選択
コンパイル記述子である#ifdef aを記述し、こ
の下にシステムA固有のロジックa1を記述して#el
seで止める。
【0019】この#elseの下にシステムB固有のロ
ジックb1を記述し、#endifで止める。
ジックb1を記述し、#endifで止める。
【0020】以下、システムAとシステムBとの共通ロ
ジック部分s2が記述される。
ジック部分s2が記述される。
【0021】そして、例えばシステムA用のプログラム
を作成する場合には、システムA用の選択コンパイル記
述子である#ifdef aに応じたコンパイルスイッ
チを指定し、またシステムB用のプログラムを作成する
場合には、システムB用の選択コンパイル記述子である
#elseに応じたコンパイルスイッチを指定すれば、
それぞれのシステムに応じたプログラムを作成できる。
を作成する場合には、システムA用の選択コンパイル記
述子である#ifdef aに応じたコンパイルスイッ
チを指定し、またシステムB用のプログラムを作成する
場合には、システムB用の選択コンパイル記述子である
#elseに応じたコンパイルスイッチを指定すれば、
それぞれのシステムに応じたプログラムを作成できる。
【0022】このようにこの実施の形態のプログラム変
換方法によれば、ある会社製のシステムAで作成したプ
ログラムaをそのシステムAとは異なる会社製のシステ
ムBで利用する場合に、プログラムaをコンパイラ2に
かけるとプログラムa/bに自動的に変換される。この
際、システムAとシステムBとの共通ロジック部分s
1、s2は変換されず、C言語におけるifdef文で
囲まれたシステムB固有のロジック部分b1のみが変換
される。
換方法によれば、ある会社製のシステムAで作成したプ
ログラムaをそのシステムAとは異なる会社製のシステ
ムBで利用する場合に、プログラムaをコンパイラ2に
かけるとプログラムa/bに自動的に変換される。この
際、システムAとシステムBとの共通ロジック部分s
1、s2は変換されず、C言語におけるifdef文で
囲まれたシステムB固有のロジック部分b1のみが変換
される。
【0023】したがって、この変換されたプログラムa
/bさえあれば、従来のようにソフトウェアをプログラ
ムa、プログラムbなどのように別々に増やす必要がな
く、これによりプログラムの保守が容易に行える。
/bさえあれば、従来のようにソフトウェアをプログラ
ムa、プログラムbなどのように別々に増やす必要がな
く、これによりプログラムの保守が容易に行える。
【0024】この結果、異なる複数のシステム間におい
て、作成するプログラムの一元管理を行うことができる
ようになる。
て、作成するプログラムの一元管理を行うことができる
ようになる。
【0025】
【発明の効果】以上説明したように本発明によれば、第
1のシステムとこれとは異なる第2のシステムとがそれ
ぞれ固有するロジックを別けて処理するように1つのプ
ログラムを記述し、その上でそれぞれに応じて変換処理
するので、異種システムを利用する場合にもプログラム
を増やす必要がなく、これによりプログラムの保守が容
易に行えるようになる。
1のシステムとこれとは異なる第2のシステムとがそれ
ぞれ固有するロジックを別けて処理するように1つのプ
ログラムを記述し、その上でそれぞれに応じて変換処理
するので、異種システムを利用する場合にもプログラム
を増やす必要がなく、これによりプログラムの保守が容
易に行えるようになる。
【図1】本発明のプログラム変換方法を示す図である。
【図2】プログラム変換を行う上での具体的なプログラ
ム記述を示す図である。
ム記述を示す図である。
【図3】従来のプログラム変換方法を示す図である。
1…変換前プログラム格納部、 2…コンパイラ、 3…変換後プログラム格納部。
Claims (1)
- 【請求項1】 第1のシステムで作成されるプログラム
中に、第1のシステム固有のロジック部分とこの第1の
システムとは異なる第2のシステム固有のロジック部分
とを示す所定のコンパイル記述子を記述してプログラム
を作成する工程と、 前記第1のシステムで作成されたプログラムを前記第2
のシステム用に変換する場合、前記第1のシステムと前
記第2のシステムとの共通ロジック部分は飛び越し前記
コンパイル記述子によって指示された前記第2のシステ
ム固有のロジック部分を抽出する工程と、 抽出された前記第2のシステム固有のロジック部分を前
記第2のシステム用に変換する工程とを有することを特
徴とするプログラム変換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP212296A JPH09190355A (ja) | 1996-01-10 | 1996-01-10 | プログラム変換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP212296A JPH09190355A (ja) | 1996-01-10 | 1996-01-10 | プログラム変換方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09190355A true JPH09190355A (ja) | 1997-07-22 |
Family
ID=11520554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP212296A Withdrawn JPH09190355A (ja) | 1996-01-10 | 1996-01-10 | プログラム変換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09190355A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277500A (ja) * | 2009-06-01 | 2010-12-09 | Mitsubishi Electric Corp | ソフトウェア管理装置 |
JP2015524126A (ja) * | 2012-06-18 | 2015-08-20 | マイクロソフト コーポレーション | 適応的に移植性を有したライブラリ |
-
1996
- 1996-01-10 JP JP212296A patent/JPH09190355A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277500A (ja) * | 2009-06-01 | 2010-12-09 | Mitsubishi Electric Corp | ソフトウェア管理装置 |
JP2015524126A (ja) * | 2012-06-18 | 2015-08-20 | マイクロソフト コーポレーション | 適応的に移植性を有したライブラリ |
US10402208B2 (en) | 2012-06-18 | 2019-09-03 | Microsoft Technology Licensing, Llc | Adaptive portable libraries |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09212356A (ja) | インタープリタ言語で記述されたコンピュータ用ソフトウェアの保護システム | |
JPH1165832A (ja) | ソースコード変換方法及び記録媒体 | |
JPH09190355A (ja) | プログラム変換方法 | |
JPH08263299A (ja) | プログラム変換方法 | |
Borgia et al. | Understanding mobile agents via a non-interleaving semantics for Facile | |
Karjoth | XFSM: A formal model of communicating state machines for implementation specifications | |
JPH09218789A (ja) | 分割コンパイル方式 | |
US6948159B2 (en) | Automatic compilation of electronic telecommunications system message generation code | |
WO2024134838A1 (ja) | 呼出形式変換装置、plcプログラミング装置、呼出形式変換プログラム、及び記録媒体 | |
JPH01310437A (ja) | ロードモジュール生成方式 | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JPH09258969A (ja) | プログラム開発装置及びプログラム開発方法 | |
JPH0695890A (ja) | コンパイラにおける名前置換方式 | |
JPH03144832A (ja) | プリコンパイラ言語プログラムのシンボリックデバッグ装置 | |
JP3623617B2 (ja) | データ設定システム | |
JPH04175819A (ja) | 実行プログラムの自動作成方式 | |
JPH0358232A (ja) | プリプロセッサ呼び出し方式 | |
JPH05143356A (ja) | コンパイラ装置 | |
JPH1195995A (ja) | データフロー解析装置、データフロー解析方法及びそのためのコンピュータプログラムを記録した記録媒体 | |
JPH02126328A (ja) | コンパイル方式 | |
JPH1083328A (ja) | 単体テスト用疑似入出力実現方式 | |
JPH06222926A (ja) | 仮想リソース生成方法 | |
JPS6111852A (ja) | 共通デ−タの集中管理方式 | |
JPH04243429A (ja) | コンパイラ | |
JPH1021087A (ja) | コンパイル方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030401 |