JPS63245729A - プログラム呼出し方式 - Google Patents

プログラム呼出し方式

Info

Publication number
JPS63245729A
JPS63245729A JP8155387A JP8155387A JPS63245729A JP S63245729 A JPS63245729 A JP S63245729A JP 8155387 A JP8155387 A JP 8155387A JP 8155387 A JP8155387 A JP 8155387A JP S63245729 A JPS63245729 A JP S63245729A
Authority
JP
Japan
Prior art keywords
interpreter
program
routine
compiler
calling
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
Application number
JP8155387A
Other languages
English (en)
Inventor
Yasuhiko Ito
靖彦 伊藤
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 JP8155387A priority Critical patent/JPS63245729A/ja
Publication of JPS63245729A publication Critical patent/JPS63245729A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラム呼出し方式に関し、特にインタプリ
タ言語のプログラムからコンパイラで作成されたオブジ
ェクトプログラムを呼出すプログラム呼出し方式に関す
る。
〔従来の技術〕
計算機言語は、第3世代言語(COBOL。
FORTRAN、PL/I、BASIC等)からマンマ
シンインタフェースの良いインタプリタ形式の第4世代
言語へと移り変わりつつある。従来の第3世代言語のプ
ログラム呼出し方式は、RASICはインタプリタ形式
であるが、C0BOL。
FORTRAN、PL/I等ではコンパイラ形式が多く
使用されている。インタプリタ形式とはインタプリタが
中間言語を解釈し実行するものであり、コンパイラ形式
とはコンパイラが生成したオブジェクトプログラムの命
令をハードウェアが直接実行するものである。プログラ
ム呼出し方式の異なる言語間で相互に呼出し合うのは容
易でなく、両者間で呼び出し合うなめにはプログラマが
機械語記述ルーチンを作成し、この機械語記述ルーチン
を経由する必要があった。
〔発明が解決しようとする問題点〕
上述したように従来のプログラム呼出し方式では、機械
語記述ルーチンの経由を必要とするが、プログラマが機
械語記述ルーチンを作成するには、コンパイラで生成さ
れたオブジェクトの物理的なアドレスを知る必要がある
。このなめ、呼び出されるプログラムに変更が生じると
、大きさ及びエントリアドレスが変わることがあるので
、その度に呼ぶ側の機械語記述ルーチンを変更しなけれ
ばならず、機械語で作成するなめ記述性が悪いばかりで
なく、プログラムのモジュール性及び独立性も悪いとい
つ欠点がある。
本発明の目的は、インタプリタ言語のプログラムからコ
ンパイラで作成されたオブジェクトプログラムの呼出し
が、機械語記述ルーチンを経由せすに行えるプログラム
呼出し方式を提供することにある。
〔問題点を解決するための手段〕
本発明のプログラム呼出し方式は、インタプリタ及びコ
ンパイラの双方を備えた計算機処理システムでインタプ
リタ言語のプログラムからコンパイラで作成されたオブ
ジェクトプログラムを呼出すプログラム呼出し方式にお
いて、前記オブジェクトプログラムを呼出すCALL文
を解釈するCALL文インクプリタ手段と、このCAL
L文インタプリタ手段から前記オブジェクトプログラム
のコンパイラオブジェクトロードモジュールを呼出すた
めの動的ロードモジュール呼出し手段と、CALL命令
のパラメータをインタプリタ形式からコンパイラ形式に
変換する変換手段と、前記コンパイラロードモジュール
で処理されたパラメータを元のインタプリタ形式に逆変
換する逆変換手段とを備えて構成されている。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の一実施例の構成図、第2図は第1図に
示す動的ロードモジュール呼出しルーチンが管理するロ
ードモジュール管理テーブルの形式図である。
第1図に示す101はインタプリタが解釈実行する中間
言語である。102はインタプリタのうちCALL文を
解釈するCALL文インタプリタルーチンである。10
3はCALL文インタプリタルーチン102から呼び出
される動的ロードモジュール呼出しルーチンであり、こ
の動的ロードモジュール呼出しルーチン103が、コン
パイラオブジェクトロードモジュール104を主記憶上
に格納しCALL文インタプリタルーチン102からコ
ンパイラオブジェクトロードモジュール104を呼出せ
るよう制御する。
インタプリタは、中間言語101の中の文を1文ずつそ
れぞれの文に合ったインタプリタルーチンを通して解釈
実行していく。実行していく中でコンパイラで作成され
たオブジェクトプロゲラムを呼出す文”CALL  M
YPROG  (PL。
P2)”(ここでMYPROGはプログラム名で、PL
、P2はMYPROGに渡すパラメータである)に出会
うと、CALL文インクプリタル−チン102に制御が
渡る。パラメータはインタプリタ形式とコンパイラ形式
では異なるので、インタプリタ形式のパラメータPi、
P2をコンパイラ形式のパラメータPla、P2aに変
換する。
この変換されたパラメータPla、P2aと呼出すプロ
グラム名”MYPROG″を使って、動的ロードモジュ
ール呼出しルーチン103に制御を渡す。
動的ロードモジュール呼出しルーチン103は、呼出す
プログラム名″MYPROG”がすでに呼出されている
かを調べるため、第2図に示すロードモジュール名管理
テーブル201を検索し、名前フィールド203とタス
ク識別子フィールド205の同じ内容(同タスクにおい
て)が存在しているかを探す。ロードモジュール名管理
テーブル201に同じ内容が存在していれば、既に6一 呼出されたコンパイラオブジェクトロードモジュールと
認識してその格納されているロードモジュール格納開始
アドレスフィールド204からアドレスを読み、呼出し
たCALL文インタプリタルーチンへ制御が戻るように
管理して、コンパイラオブジェクトロードモジュール1
04に制御を渡す。
ロードモジュール名管理テーブル201の名前フィール
ド203とタスク識別子フィールド205に同じ内容(
同タスクにおいて)が存在しないときは、始めて呼出さ
れたことになるので空きエリアを見つけてプログラムの
名前”MYPROG″の長さ6を長さフィールド202
に、プログラムの名前″MYPROG”を名前フィール
ド203に、ロードモジュールの格納開始アドレスを格
納開始アドレスフィールド204に、自タスクの識別子
をタスク識別子フィールド205に、それぞれ格納し登
録する。ロードモジュール管理テーブル201に登録し
た後、前述と同様に呼出したCALL文インタプリタル
ーチン102へ制御が戻るように管理して、コンパイラ
オブジェクトロードモジュール104に制御を渡す。
呼出されたコンパイラオブジェクトロードモジュール1
04は、通常のロードモジュールと変わりなくコンパイ
ラ形式のパラメータPla。
P2aを受けとり処理を行なう。その結果コンパイラ形
式のパラメータPla、P2aは更新され、コンパイラ
形式のパラメータPlb、P2bとなり処理が終了する
処理が終了するとCALL文インクプリタル−チン10
2に戻り、更新されたコンパイラ形式のパラメータPl
b、P2bをインタプリタが処理できるようにインタプ
リタ形式のパラメータPlc、P2cに変換する。この
変換されたパラメータを元のインタプリタ形式のパラメ
ータPi、P2の新しい値として使用し、インタプリタ
が次々に中間言語を解釈実行して行く。
〔発明の効果〕
以上説明したように本発明のプログラム呼出し方式は、
利用者がインタプリタ言語のプログラムからコンパイラ
で作成されたオブジェクトプログラムを呼出すときに、
CALL文インタプリタルーチンが、動的ロードモジュ
ール呼出しルーチンを利用することにより、プログラマ
が機械語記述ルーチンを作成しなくとも呼出すことがで
きるようになり、プログラムのモジュール性や独立性を
良くできるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成図、第2図は、第1図
に示す本実施例の形式図である。

Claims (1)

    【特許請求の範囲】
  1. インタプリタ及びコンパイラの双方を備えた計算機処理
    システムでインタプリタ言語のプログラムからコンパイ
    ラで作成されたオブジェクトプログラムを呼出すプログ
    ラム呼出し方式において、前記オブジェクトプログラム
    を呼出すCALL文を解釈するCALL文インタプリタ
    手段と、このCALL文インタプリタ手段から前記オブ
    ジェクトプログラムのコンパイラオブジェクトロードモ
    ジュールを呼出すための動的ロードモジュール呼出し手
    段と、CALL命令のパラメータをインタプリタ形式か
    らコンパイラ形式に変換する変換手段と、前記コンパイ
    ラロードモジュールで処理されたパラメータを元のイン
    タプリタ形式に逆変換する逆変換手段とを有することを
    特徴とするプログラム呼出し方式。
JP8155387A 1987-04-01 1987-04-01 プログラム呼出し方式 Pending JPS63245729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8155387A JPS63245729A (ja) 1987-04-01 1987-04-01 プログラム呼出し方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8155387A JPS63245729A (ja) 1987-04-01 1987-04-01 プログラム呼出し方式

Publications (1)

Publication Number Publication Date
JPS63245729A true JPS63245729A (ja) 1988-10-12

Family

ID=13749477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8155387A Pending JPS63245729A (ja) 1987-04-01 1987-04-01 プログラム呼出し方式

Country Status (1)

Country Link
JP (1) JPS63245729A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52126935A (en) * 1976-04-16 1977-10-25 Matsushita Electric Ind Co Ltd Air conditioner for multiple rooms
JPS6026259A (ja) * 1983-07-22 1985-02-09 ヤンマーディーゼル株式会社 ヒ−トポンプ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52126935A (en) * 1976-04-16 1977-10-25 Matsushita Electric Ind Co Ltd Air conditioner for multiple rooms
JPS6026259A (ja) * 1983-07-22 1985-02-09 ヤンマーディーゼル株式会社 ヒ−トポンプ装置

Similar Documents

Publication Publication Date Title
US8156471B2 (en) Multi-language execution method
JP2666847B2 (ja) 異種言語間連絡方式
JPH01277934A (ja) パラメータリスト参照方法の切換え方式
JPS63245729A (ja) プログラム呼出し方式
JPS5922140A (ja) 対話型コンパイル方式
JP2718427B2 (ja) 大規模知識ベースにおけるデータアクセス方式
JPH0683597A (ja) オブジェクト指向プログラム開発装置およびオブジェクト指向プログラム開発方法
Ferrari et al. Basic FORTRAN support in Legion
KR100246544B1 (ko) 고속병렬컴퓨터에서 병렬 구문에 의한 쓰레드 생성 방법
JPH0520093A (ja) モジユールのコンパイル方法およびコンパイル装置
JPH02130637A (ja) ソースコード翻訳方式
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JPS62205434A (ja) 再帰呼出し可能プログラムのコンパイル処理方式
JPH04101237A (ja) デバッグ処理方式
Horn Improving Parallel Implementations of Lazy Functional Languages Using Evaluation Transformers
JPH04209027A (ja) ルール推論装置
JPS6232557A (ja) 通信プロトコ−ル変換装置
JPH02230330A (ja) 推論装置
JPH03177930A (ja) コンパイルコード生成処理方法
JPS63178345A (ja) デ−タベ−スアクセス処理方式
JPH0239241A (ja) コンパイラ
JPS62138967A (ja) デ−タ変換処理方式
JPS6339037A (ja) プログラム呼出し処理方式
JPH0250730A (ja) 共通機械語による言語変換方式
JPH08286919A (ja) 分散オブジェクトのメソッド生成システム