JPH0322141A - 異なる言語間における呼出仲介方式 - Google Patents
異なる言語間における呼出仲介方式Info
- Publication number
- JPH0322141A JPH0322141A JP15800589A JP15800589A JPH0322141A JP H0322141 A JPH0322141 A JP H0322141A JP 15800589 A JP15800589 A JP 15800589A JP 15800589 A JP15800589 A JP 15800589A JP H0322141 A JPH0322141 A JP H0322141A
- Authority
- JP
- Japan
- Prior art keywords
- program
- intermediary
- language
- call
- name
- 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
- 238000000034 method Methods 0.000 claims description 17
- 101100048436 Caenorhabditis elegans unc-1 gene Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 229910004438 SUB2 Inorganic materials 0.000 description 1
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
異なる言語間でプログラムを呼び出す仲介方式に関し、
仲介プログラムを固定部と可変部とに分け、マクロを用
意して仲介プログラムの可変部をNF4に作威可能にす
ると共に固定部を1箇所にまとめてサイズを小さくする
ことを目的とし、 呼び出し元の言語のあるプログラム名が呼び出された時
に該当する呼び出し先の言語のプログラム名を呼び出す
ためのエントリアドレスを生成する、個別処理からなる
仲介プログラム可変部と、この仲介プログラム可変部か
ら通知されたエントリアドレスをもとに呼び出し先の言
語のプログラムを呼び出す、共通処理からなる仲介プロ
グラム固定部とを備え、呼び出し元の言語のあるプログ
ラム名の呼び出しに対応して、上記仲介プログラム可変
部および上記仲介プログラム固定部によって呼び出し先
の言語の該当プログラムを呼び出し、処理依頼するよう
に構或する。また、上記仲介プログラム可変部について
、予め定義したマクロを用いて呼び出し元のプログラム
名および呼び出し先のプログラム名の対応づけを記述し
、これをアセンプルして当該仲介プログラム可変部を自
動生成し、リンクするように構成する。
意して仲介プログラムの可変部をNF4に作威可能にす
ると共に固定部を1箇所にまとめてサイズを小さくする
ことを目的とし、 呼び出し元の言語のあるプログラム名が呼び出された時
に該当する呼び出し先の言語のプログラム名を呼び出す
ためのエントリアドレスを生成する、個別処理からなる
仲介プログラム可変部と、この仲介プログラム可変部か
ら通知されたエントリアドレスをもとに呼び出し先の言
語のプログラムを呼び出す、共通処理からなる仲介プロ
グラム固定部とを備え、呼び出し元の言語のあるプログ
ラム名の呼び出しに対応して、上記仲介プログラム可変
部および上記仲介プログラム固定部によって呼び出し先
の言語の該当プログラムを呼び出し、処理依頼するよう
に構或する。また、上記仲介プログラム可変部について
、予め定義したマクロを用いて呼び出し元のプログラム
名および呼び出し先のプログラム名の対応づけを記述し
、これをアセンプルして当該仲介プログラム可変部を自
動生成し、リンクするように構成する。
(産業上の利用分野)
本発明は、異なる言語間でプログラムを呼び出す呼出仲
介方式に関するものである。
介方式に関するものである。
〔従来の技術と発明が解決しようとする課題〕一般にソ
フトウエアを開発する場合、その目的機能に応して記述
言語を選択している。また、1つのソフトウェアの中で
も、モジュール毎に別々の言語で記述し、これらを結合
することもある。
フトウエアを開発する場合、その目的機能に応して記述
言語を選択している。また、1つのソフトウェアの中で
も、モジュール毎に別々の言語で記述し、これらを結合
することもある。
このとき、言語が異なるとリンケージの違いにより、直
接結合しても呼び出しができない場合もでてくるため、
両者を介在する介在プログラムが必要となる. 例えば大型計算機(例えばMシリーズなど)におけるC
OBOLプログラムのリンケージは、OSrVの標準リ
ンケージ規約の通りである。一方、Cプログラムのリン
ケージは、標準リンケージ規約に更にC固有の拡張リン
ケージがある。このため、COBOLプログラムからC
プログラムを呼び出す場合、この拡張部分を吸収する仲
介プログラムが必要となる。この仲介プログラムは、第
3図に示すように下記(1+、(2)の処理を行う必要
がある。
接結合しても呼び出しができない場合もでてくるため、
両者を介在する介在プログラムが必要となる. 例えば大型計算機(例えばMシリーズなど)におけるC
OBOLプログラムのリンケージは、OSrVの標準リ
ンケージ規約の通りである。一方、Cプログラムのリン
ケージは、標準リンケージ規約に更にC固有の拡張リン
ケージがある。このため、COBOLプログラムからC
プログラムを呼び出す場合、この拡張部分を吸収する仲
介プログラムが必要となる。この仲介プログラムは、第
3図に示すように下記(1+、(2)の処理を行う必要
がある。
(1)Cプログラムが使用するスタソク領域の獲得、お
よび解放を行う。
よび解放を行う。
f2) C O B O LプログラムがCプログラ
ムを呼び出そうとするとき、仲介してスタンク領域のア
ドレスをCプログラムに通知して呼び出す。
ムを呼び出そうとするとき、仲介してスタンク領域のア
ドレスをCプログラムに通知して呼び出す。
このため、呼び出し先のCプログラムの数と名前とが異
なる毎に仲介プログラムを専用にその都度、作戒しなけ
ればならず、作戊に多くの手間が必要になってしまうと
いう問題があった。
なる毎に仲介プログラムを専用にその都度、作戒しなけ
ればならず、作戊に多くの手間が必要になってしまうと
いう問題があった。
尚、第3図構或の動作を簡単に説明する。ここで、21
はCOBOLプログラムを表し、22は仲介プログラム
を表し、23はCプログラムを表し、24はスタック領
域を表す. 第3図において、■:21は、22の初期化処理を呼び
出す。22は、24を動的に獲得し、その先頭アドレス
を22の内部に覚えておく.■=22は、21に復帰す
る。
はCOBOLプログラムを表し、22は仲介プログラム
を表し、23はCプログラムを表し、24はスタック領
域を表す. 第3図において、■:21は、22の初期化処理を呼び
出す。22は、24を動的に獲得し、その先頭アドレス
を22の内部に覚えておく.■=22は、21に復帰す
る。
■:2lは、22に対してSUB 1の呼び出しを依頼
する. ■:22は、24のアドレスを通知しなから23を呼び
出す.このとき、SUB 1に対応するfunclを選
択する。
する. ■:22は、24のアドレスを通知しなから23を呼び
出す.このとき、SUB 1に対応するfunclを選
択する。
■:23は、f unc 1の処理をして22に復帰す
る。
る。
■:22は、21に復帰する。
■ないし[相]は、■ないし■の処理と同一に行う。
■=21は、22の終了処理を呼び出す。22は、24
を解放する。
を解放する。
@:22は、2lに復帰する。
本発明は、仲介プログラムを固定部と可変部とに分け、
マクロを用意して仲介プログラムの可変部を簡単に作或
可能にすると共に固定部を1m所にまとめてサイズを小
さくすることを目的としている。
マクロを用意して仲介プログラムの可変部を簡単に作或
可能にすると共に固定部を1m所にまとめてサイズを小
さくすることを目的としている。
第1図を参照して課題を解決する手段を説明する.
第1図において、仲介プログラム可変部5は、呼び出し
元の言語のあるプログラム名(例えばSUB 1)が呼
び出された時に該当する呼び出し先の言語のプログラム
名(例えばfunc 1)を呼び出すためのエントリア
ドレスを生成する、個別処理からなるものである. 仲介プログラム固定部2ば、仲介プログラム可変部5か
ら通知されたエントリアドレスをもとに呼び出し先の言
語のプログラムを呼び出す、共通処理からなるものであ
る. 〔作用〕 本発明は、第1図に示すように、呼び出し元の言語のあ
るプログラム名(例えば5118 1)が呼び出された
時に該当する呼び出し先の言語のプログラム名(例えば
func 1)を呼び出すためのエントリアドレスを生
成する、個別処理からなる仲介プログラム可変部5、お
よびこの仲介プログラム可変部5から通知されたエント
リアドレスをもとに呼び出し先の言語のプログラムを呼
び出す、共通処理からなる仲介プログラム固定部2を設
け、呼び出し元の言語のあるプログラム名の呼び出しに
対応して、仲介プログラム可変部5および仲介プロダラ
ム固定部2によって呼び出し先の言語の該当プログラム
を呼び出し、処理依頼するようにしている。また、仲介
プログラム可変部5について、予め定義したマクロを用
いて呼び出し元のプログラム名および呼び出し先のプロ
グラム名の対応づけを記述し、これをアセンブルして個
別処理からなる当該仲介プログラム可変部5を自動生成
し、リンクするようにしている. 従って、仲介プログラムを固定部と可変部とに分け、マ
クロを用意して仲介プログラム可変部5を簡単に作成可
能にすると共に仲介プログラム固定部2をl箇所にまと
めてサイズを小さくすることが可能となる. 〔実施例〕 次に、第1図および第2図を用いて本発明のl実施例の
構成および動作を順次詳細に説明する。
元の言語のあるプログラム名(例えばSUB 1)が呼
び出された時に該当する呼び出し先の言語のプログラム
名(例えばfunc 1)を呼び出すためのエントリア
ドレスを生成する、個別処理からなるものである. 仲介プログラム固定部2ば、仲介プログラム可変部5か
ら通知されたエントリアドレスをもとに呼び出し先の言
語のプログラムを呼び出す、共通処理からなるものであ
る. 〔作用〕 本発明は、第1図に示すように、呼び出し元の言語のあ
るプログラム名(例えば5118 1)が呼び出された
時に該当する呼び出し先の言語のプログラム名(例えば
func 1)を呼び出すためのエントリアドレスを生
成する、個別処理からなる仲介プログラム可変部5、お
よびこの仲介プログラム可変部5から通知されたエント
リアドレスをもとに呼び出し先の言語のプログラムを呼
び出す、共通処理からなる仲介プログラム固定部2を設
け、呼び出し元の言語のあるプログラム名の呼び出しに
対応して、仲介プログラム可変部5および仲介プロダラ
ム固定部2によって呼び出し先の言語の該当プログラム
を呼び出し、処理依頼するようにしている。また、仲介
プログラム可変部5について、予め定義したマクロを用
いて呼び出し元のプログラム名および呼び出し先のプロ
グラム名の対応づけを記述し、これをアセンブルして個
別処理からなる当該仲介プログラム可変部5を自動生成
し、リンクするようにしている. 従って、仲介プログラムを固定部と可変部とに分け、マ
クロを用意して仲介プログラム可変部5を簡単に作成可
能にすると共に仲介プログラム固定部2をl箇所にまと
めてサイズを小さくすることが可能となる. 〔実施例〕 次に、第1図および第2図を用いて本発明のl実施例の
構成および動作を順次詳細に説明する。
第F図において、COBOLプログラム1ば、Cプログ
ラム3によって記述されたプログラムを呼び出して処理
依頼するプログラムである。
ラム3によって記述されたプログラムを呼び出して処理
依頼するプログラムである。
仲介プログラムは、仲介プログラム固定部2および仲介
プログラム可変部5から構成され、coBOLプログラ
ムlからの呼び出しに対応して、Cプログラム3によっ
て記述したプログラムを呼び出す、仲介を行うプログラ
ムである。ここでは、共通処理を仲介プログラム固定部
2に記述、および個別処理を仲介プログラム可変部5に
記述するように分離している。この大め、呼び出すCプ
ログラムの数や名前に依存する仲介プログラム可変部5
のみを作戒すればよい(第2図参照)。
プログラム可変部5から構成され、coBOLプログラ
ムlからの呼び出しに対応して、Cプログラム3によっ
て記述したプログラムを呼び出す、仲介を行うプログラ
ムである。ここでは、共通処理を仲介プログラム固定部
2に記述、および個別処理を仲介プログラム可変部5に
記述するように分離している。この大め、呼び出すCプ
ログラムの数や名前に依存する仲介プログラム可変部5
のみを作戒すればよい(第2図参照)。
次に、第1図構成の動作を詳細に説明する.以下、1は
COBOLプログラムを表し、2ば仲介プログラム固定
部を表し、3はCプログラムを表し、4はスタンク領域
を表し、5は仲介プログラム可変部を表す. ■:lは、2の初期処理を呼び出す。2は、4を動的に
獲得し、その先頭アドレスを2の内部に覚えておく。
COBOLプログラムを表し、2ば仲介プログラム固定
部を表し、3はCプログラムを表し、4はスタンク領域
を表し、5は仲介プログラム可変部を表す. ■:lは、2の初期処理を呼び出す。2は、4を動的に
獲得し、その先頭アドレスを2の内部に覚えておく。
■:2は、lに復帰する。
■:lは、5に対してSUBIの呼び出しを依頼する.
■:5は、funclのエントリアドレスを通知しなか
ら2の共通処理を呼び出す. ■=2は、f unc 1を呼び出す。
ら2の共通処理を呼び出す. ■=2は、f unc 1を呼び出す。
■:funclから2に復帰する。
■:2は、5に復帰する。
■:5は、1に復帰する。
■ないし[相]:これらは、■ないし■の処理と同一で
ある,但し、5のエントリ場所は、SUB2となる. ■:1は、2の終了処理を呼び出す。2は、4を解放す
る。
ある,但し、5のエントリ場所は、SUB2となる. ■:1は、2の終了処理を呼び出す。2は、4を解放す
る。
@lは、1に復帰する。
以上の処理によって、COBOLプログラム1は、仲介
プログラム可変部5および仲介プログラム固定部2を介
してCプログラム3の該当プログラムを呼び出して処理
依頼することが可能となる。
プログラム可変部5および仲介プログラム固定部2を介
してCプログラム3の該当プログラムを呼び出して処理
依頼することが可能となる。
この際、呼び出すCプログラムの数や名前により、仲介
プログラム可変部5のみを専用に作戒すればよい。仲介
プログラム固定部2は、共通に使用することかできる。
プログラム可変部5のみを専用に作戒すればよい。仲介
プログラム固定部2は、共通に使用することかできる。
次に、第2図を用いて仲介プログラム可変部5の作或に
ついて詳細に説明する。
ついて詳細に説明する。
第2図において、11は、可変部のアセンブラソースを
示す。例えば■ぱ、予め定義したマクロ1¥BR t
DGE″を用いて呼び出し元のCOBOLプログラムl
のプログラム名“SUBI”と、呼び出し先のCプログ
ラム3のプログラム名“FtJNc1”との対応づけを
記述する.12は、1lの可変部のアセンプラソースを
、13のマクロ定義体を参照してアセンブルし、オブジ
ェクト(仲介プログラム可変部5のオブジェクト)を生
成する。
示す。例えば■ぱ、予め定義したマクロ1¥BR t
DGE″を用いて呼び出し元のCOBOLプログラムl
のプログラム名“SUBI”と、呼び出し先のCプログ
ラム3のプログラム名“FtJNc1”との対応づけを
記述する.12は、1lの可変部のアセンプラソースを
、13のマクロ定義体を参照してアセンブルし、オブジ
ェクト(仲介プログラム可変部5のオブジェクト)を生
成する。
15は、リンケージエディタによって、14のオブジェ
クト(仲介プログラム可変部5)と、予め用意しておい
た仲介プログラム固定部2、COBOLプログラムl1
およびCプログラム3とをリンクする。これにより、第
1図に示す構或の実行可能モジュールが作威されること
となる.〔発明の効果〕 以上説明したように、本発明によれば、仲介プログラム
を固定部と可変部とに分け、マクロを用意して仲介プロ
グラムの可変部を作戒する構成を採用しているため、仲
介プログラム可変部5を簡単に作或することができると
共に、仲介プログラム固定部2を1箇所にまとめてサイ
ズを小さくすることができる.これにより、COBOL
言語、C言語などを用いてソフトウエア開発を行う際に
、既に開発済の各種プログラムを部品として扱い、ソフ
トウェア開発の効率化を図ると共にプログラム構或の設
計を柔軟に行うことが可能となる。
クト(仲介プログラム可変部5)と、予め用意しておい
た仲介プログラム固定部2、COBOLプログラムl1
およびCプログラム3とをリンクする。これにより、第
1図に示す構或の実行可能モジュールが作威されること
となる.〔発明の効果〕 以上説明したように、本発明によれば、仲介プログラム
を固定部と可変部とに分け、マクロを用意して仲介プロ
グラムの可変部を作戒する構成を採用しているため、仲
介プログラム可変部5を簡単に作或することができると
共に、仲介プログラム固定部2を1箇所にまとめてサイ
ズを小さくすることができる.これにより、COBOL
言語、C言語などを用いてソフトウエア開発を行う際に
、既に開発済の各種プログラムを部品として扱い、ソフ
トウェア開発の効率化を図ると共にプログラム構或の設
計を柔軟に行うことが可能となる。
第1図は本発明の1実施例構或図、第2図は本発明に係
わる仲介プログラム可変部の作戒説明図、第3図は従来
技術の説明図を示す. 図中、1はCOBOLプログラム、2は仲介プログラム
固定部、3はCプログラム、4ぱスタンク領域、5は仲
介プログラム可変部、11は可変部の7センブラソース
、13はマクロ定義体を表す。
わる仲介プログラム可変部の作戒説明図、第3図は従来
技術の説明図を示す. 図中、1はCOBOLプログラム、2は仲介プログラム
固定部、3はCプログラム、4ぱスタンク領域、5は仲
介プログラム可変部、11は可変部の7センブラソース
、13はマクロ定義体を表す。
Claims (2)
- (1)異なる言語間でプログラムを呼び出す仲介方式に
おいて、 呼び出し元の言語のあるプログラム名が呼び出された時
に該当する呼び出し先の言語のプログラム名を呼び出す
ためのエントリアドレスを生成する、個別処理からなる
仲介プログラム可変部(5)と、この仲介プログラム可
変部(5)から通知されたエントリアドレスをもとに呼
び出し先の言語のプログラムを呼び出す、共通処理から
なる仲介プログラム固定部(2)とを備え、 呼び出し元の言語のあるプログラム名の呼び出しに対応
して、上記仲介プログラム可変部(5)および上記仲介
プログラム固定部(2)によって呼び出し先の言語の該
当プログラムを呼び出し、処理依頼するように構成した
ことを特徴とする異なる言語間における呼出仲介方式。 - (2)上記仲介プログラム可変部(5)について、予め
定義したマクロを用いて呼び出し元のプログラム名およ
び呼び出し先のプログラム名の対応づけを記述し、これ
をアセンブルして当該仲介プログラム可変部(5)を自
動生成し、リンクするように構成したことを特徴とする
請求項第(1)項記載の異なる言語間における呼出仲介
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15800589A JPH0322141A (ja) | 1989-06-20 | 1989-06-20 | 異なる言語間における呼出仲介方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15800589A JPH0322141A (ja) | 1989-06-20 | 1989-06-20 | 異なる言語間における呼出仲介方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0322141A true JPH0322141A (ja) | 1991-01-30 |
Family
ID=15662175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15800589A Pending JPH0322141A (ja) | 1989-06-20 | 1989-06-20 | 異なる言語間における呼出仲介方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0322141A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359854B1 (en) | 1993-11-01 | 2002-03-19 | Mitsubishi Denki Kabushiki Kaisha | Disk reproducing apparatus |
JP2011222022A (ja) * | 2010-04-13 | 2011-11-04 | Intel Corp | 非abi準拠機能を初見のインタフェースにわたって実現するための方法及びシステム |
-
1989
- 1989-06-20 JP JP15800589A patent/JPH0322141A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359854B1 (en) | 1993-11-01 | 2002-03-19 | Mitsubishi Denki Kabushiki Kaisha | Disk reproducing apparatus |
JP2011222022A (ja) * | 2010-04-13 | 2011-11-04 | Intel Corp | 非abi準拠機能を初見のインタフェースにわたって実現するための方法及びシステム |
US8464230B2 (en) | 2010-04-13 | 2013-06-11 | Intel Corporation | Methods and systems to implement non-ABI conforming features across unseen interfaces |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280527B2 (en) | Method and system for directly mapping web services interfaces and Java interfaces | |
JP2666847B2 (ja) | 異種言語間連絡方式 | |
JPH0283627A (ja) | インタプリタ | |
US9454616B2 (en) | Method and system for unifying configuration descriptors | |
WO2000077686A2 (en) | Method for distributed transaction support using jdbc 1.0 drivers | |
JPH02272627A (ja) | デイジタル・コンピユータ・システムとその手続呼び出し方法 | |
US7162721B2 (en) | Application-independent API for distributed component collaboration | |
JP2001527234A (ja) | 異種開発ツール・セットを使用したオブジェクト指向コントローラ内のスタティック・リンクおよびダイナミック・リンクした機能に対するコール機構 | |
US7191452B2 (en) | Method for creating application programming interfaces for internal applications | |
WO2008080524A1 (en) | Web container extension architecture | |
US20030018627A1 (en) | Apparatus and method for workflow | |
JPH0322141A (ja) | 異なる言語間における呼出仲介方式 | |
KR100602318B1 (ko) | 고급 지능형 네트워크, 인터넷 가능 서비스 구성 요소, 외부 인터페이스를 제공하는 방법 및 머신 판독 가능 저장 장치 | |
Itoh et al. | Scone: using concurrent objects for low-level operating system programming | |
Hamlin Jr et al. | Configurable applications for graphics employing satellites (CAGES) | |
JP2006236375A (ja) | Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラム | |
JP2002508866A (ja) | データ処理装置の制御方法 | |
Bosch | Composition through superimposition | |
Roscoe | CLANGER: an interpreted systems programming language | |
Fischer et al. | Script wrapper for software integration systems | |
Pettit IV et al. | A software design method for Ada 95 based concurrent and real-time systems | |
JPH02214942A (ja) | 親ロードモジュールへの制御移行機能の作成方式 | |
Costa et al. | PUC | |
JPS59109944A (ja) | 端末エコ−制御方式 | |
JPH02118731A (ja) | 言語間リンクのオーバレイ制御方式 |