JPS63280338A - 論理型言語の結合方式 - Google Patents
論理型言語の結合方式Info
- Publication number
- JPS63280338A JPS63280338A JP11612187A JP11612187A JPS63280338A JP S63280338 A JPS63280338 A JP S63280338A JP 11612187 A JP11612187 A JP 11612187A JP 11612187 A JP11612187 A JP 11612187A JP S63280338 A JPS63280338 A JP S63280338A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- fortran
- application program
- logical
- predicate
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、論理型言語PrologやLi5p等とF
ORTRANプログラム(サブルーチン)との結合方式
に関するものである。
ORTRANプログラム(サブルーチン)との結合方式
に関するものである。
従来の論理型言語prologとFORTRANサブル
ーチンの結合方法に関し第3図に沿って説明する。第3
図では100は、pro 1 og処理系を含むプログ
ラムの全体であり、lはpr。
ーチンの結合方法に関し第3図に沿って説明する。第3
図では100は、pro 1 og処理系を含むプログ
ラムの全体であり、lはpr。
log処理系、2はprologによる応用プログラム
、103はこのprologプログラムからコールされ
るFORTRANサブルーチンである。応用プログラム
2内には予め特定のサブルーチン名に対応してポインタ
が設定されている。
、103はこのprologプログラムからコールされ
るFORTRANサブルーチンである。応用プログラム
2内には予め特定のサブルーチン名に対応してポインタ
が設定されている。
次にprolog応用プログラム2からFORTRAN
サブルーチン103をコールする際の従来のprolo
g処理系lの動作について説明する。すなわち、pro
log応用プログラム2内で、FORTRANサブルー
チン103へのコールを示す述語の実行要求があること
を検知すると、prolog応用プログラム2は設定さ
れたポインタからFORTRANサブルーチン103本
体に処理を移し実行している。
サブルーチン103をコールする際の従来のprolo
g処理系lの動作について説明する。すなわち、pro
log応用プログラム2内で、FORTRANサブルー
チン103へのコールを示す述語の実行要求があること
を検知すると、prolog応用プログラム2は設定さ
れたポインタからFORTRANサブルーチン103本
体に処理を移し実行している。
このFORTRANサブルーチン103は、prolo
g応用プログラム2で使用するものをあらかじめ洗い出
して、prolog処理系lにリンクしておく必要があ
り、リンクされていないFORTRANサブルーチンは
使用できなかった。
g応用プログラム2で使用するものをあらかじめ洗い出
して、prolog処理系lにリンクしておく必要があ
り、リンクされていないFORTRANサブルーチンは
使用できなかった。
又新たなFORTRANサブルーチンが必要になる度に
処理系を再リンクしなければならず、実行時に柔軟に任
意に、FORTRANサブルーチンへのコールを行うこ
とができなかった。
処理系を再リンクしなければならず、実行時に柔軟に任
意に、FORTRANサブルーチンへのコールを行うこ
とができなかった。
この発明は上記のような問題点を解消するためになされ
たもので、prolog応用プログラムからFORTR
ANサブルーチンコールの要求があると、その時点でデ
ィスクのサブルーチンライブラリから必要なFORTR
ANサブルーチンを処理系内にロードし、実行できる論
理型言語の結合方式を提供することを目的としている。
たもので、prolog応用プログラムからFORTR
ANサブルーチンコールの要求があると、その時点でデ
ィスクのサブルーチンライブラリから必要なFORTR
ANサブルーチンを処理系内にロードし、実行できる論
理型言語の結合方式を提供することを目的としている。
この発明においては、論理型処理系1の下で論理型応用
プログラム2がサブルーチンライブラリと結合して動作
するシステムにおいて、論理型処理系の内部にサブルー
チン定義テーブルを設け、かつサブルーチンコードエリ
アを設け、論理型応用プログラムはサブルーチン定義述
語13によりサブルーチン定義テーブル11にサブルー
チン名とそのポインタを定義し、次にサブルーチンロー
ド述語14によりサブルーチンライブラリ4から該サブ
ルーチン5をサブルーチンコードエリア3にロードし、
サブルーチン実行要求述語15により該サブルーチン5
を実行するようにした。
プログラム2がサブルーチンライブラリと結合して動作
するシステムにおいて、論理型処理系の内部にサブルー
チン定義テーブルを設け、かつサブルーチンコードエリ
アを設け、論理型応用プログラムはサブルーチン定義述
語13によりサブルーチン定義テーブル11にサブルー
チン名とそのポインタを定義し、次にサブルーチンロー
ド述語14によりサブルーチンライブラリ4から該サブ
ルーチン5をサブルーチンコードエリア3にロードし、
サブルーチン実行要求述語15により該サブルーチン5
を実行するようにした。
論理型応用プログラム2からサブルーチン5の実行要求
があると、サブルーチン定義テーブル11を参照して、
サブルーチンライブラリ4から該サブルーチン5をサブ
ルーチンコードエリア3にロードし、ここで実行する。
があると、サブルーチン定義テーブル11を参照して、
サブルーチンライブラリ4から該サブルーチン5をサブ
ルーチンコードエリア3にロードし、ここで実行する。
応用プログラム2は必要に応じてサブルーチン定義テー
ブル11に基づき任意のサブルーチン5と結合できる。
ブル11に基づき任意のサブルーチン5と結合できる。
以下この発明の一実施例を図面を参照して説明する。
第1図において、1は論理型言語のprot。
g処理系、2はprolog応用プログラム、3はディ
スクに格納されたFORTRANサブルーチンをロード
するFORTRANサブルーチンコードエリア、4はデ
ィスク装置内のFORTRANサブルーチンライブラリ
ファイル、5はFORTRANサブルーチンAである。
スクに格納されたFORTRANサブルーチンをロード
するFORTRANサブルーチンコードエリア、4はデ
ィスク装置内のFORTRANサブルーチンライブラリ
ファイル、5はFORTRANサブルーチンAである。
FORTRANサブルーチンライブラリファイル4には
、その他にFORTRANサブルーチンB等複数のサブ
ルーチンが格納されており、prolog処理系1内に
はサブルーチン定義テーブル11が設けられている。
、その他にFORTRANサブルーチンB等複数のサブ
ルーチンが格納されており、prolog処理系1内に
はサブルーチン定義テーブル11が設けられている。
prolog応用プログラム2からFORTRANサブ
ルーチンA5の実行要求があると、あらかじめ処理系内
1に定義されたFORTRANサブルーチン定義テーブ
ル11を参照して、FORTRANサブルーチンライブ
ラリファイル4から当富亥すフ゛ル−チン5のオフ゛ジ
ェフトコードをF0RTRANサブルーチンコードエリ
ア3にロードし、ここに処理を移して実行する。
ルーチンA5の実行要求があると、あらかじめ処理系内
1に定義されたFORTRANサブルーチン定義テーブ
ル11を参照して、FORTRANサブルーチンライブ
ラリファイル4から当富亥すフ゛ル−チン5のオフ゛ジ
ェフトコードをF0RTRANサブルーチンコードエリ
ア3にロードし、ここに処理を移して実行する。
第2図は、Prolog処理系内の詳細構成を示し、新
たに設けられたFORTRANサブルーチン定義テーブ
ル11.FORTRANサブルーチンコードエリア12
及びこれを使用してpr。
たに設けられたFORTRANサブルーチン定義テーブ
ル11.FORTRANサブルーチンコードエリア12
及びこれを使用してpr。
log応用プログラムFORTRANサブルーチンをダ
イナミックに定義し、ロードし、実行するために新たに
設けた各組込述語13,14.15を示している。
イナミックに定義し、ロードし、実行するために新たに
設けた各組込述語13,14.15を示している。
次に動作について説明する。
prolog応用プログラム2からFORTRANサブ
ルーチンA、B・・・・・・を使用したいとき、まず、
FORTRANサブルーチン定義述語13を実行する。
ルーチンA、B・・・・・・を使用したいとき、まず、
FORTRANサブルーチン定義述語13を実行する。
これによって、FORTRANサブルーチン定義テーブ
ル11の内にサブルーチン名20、引数の数22、引数
の型23が登録される。
ル11の内にサブルーチン名20、引数の数22、引数
の型23が登録される。
次に、FORTRANサブルーチンAを処理系内FOR
TRANサブルーチンコードエリア3にロードするため
FORTRANサブルーチン口−ド述語14を実行する
。これによって、FORTRANサブルーチンへのコー
ドがFORTRANサブルーチンコードエリア3の空き
エリアにロードされるとともに、FORTRANサブル
ーチン定義テーブル11のサブルーチンエントリ点21
が登録される。・ 最後にFORTRANサブルーチンAを実行するために
、FORTRANサブルーチン実行要求述語15を実行
すると、処理系は、要求されたサブルーチン名から、F
ORTRANサブルーチン定義テーブル11からサブル
ーチンエントリ点21を検索し、サブルーチン本体に処
理を移す。
TRANサブルーチンコードエリア3にロードするため
FORTRANサブルーチン口−ド述語14を実行する
。これによって、FORTRANサブルーチンへのコー
ドがFORTRANサブルーチンコードエリア3の空き
エリアにロードされるとともに、FORTRANサブル
ーチン定義テーブル11のサブルーチンエントリ点21
が登録される。・ 最後にFORTRANサブルーチンAを実行するために
、FORTRANサブルーチン実行要求述語15を実行
すると、処理系は、要求されたサブルーチン名から、F
ORTRANサブルーチン定義テーブル11からサブル
ーチンエントリ点21を検索し、サブルーチン本体に処
理を移す。
このような処理手順を踏むことにより、prolog応
用プログラム2は、FORTRANサブルーチンA、B
・・・・・・の定義、ロード、実行と夫々制御でき、柔
軟に必要になったFORTRANサブルーチンA、B・
・・・・・との結合を行うことが可能となる。
用プログラム2は、FORTRANサブルーチンA、B
・・・・・・の定義、ロード、実行と夫々制御でき、柔
軟に必要になったFORTRANサブルーチンA、B・
・・・・・との結合を行うことが可能となる。
なお、上記の例は論理型言語としてProl。
gに適用する場合について記述したが、同様に、Lr5
P等についても適用が可能で同じような効果が得られる
。
P等についても適用が可能で同じような効果が得られる
。
以上説明してきたように、この発明によれば、論理型処
理系の下で論理型応用プログラムがサブルーチンライブ
ラリと結合して動作するシステムにおいて、論理型処理
系の内部にサブルーチン定義テーブルを設け、かつサブ
ルーチンコードエリアを設け、論理型応用プログラムは
サブルーチン定義述語によりサブルーチン定義テーブル
にサブルーチン名とそのポインタを定義し、次にサブル
ーチンロード述語によりサブルーチンライブラリから該
サブルーチンをサブルーチンコードエリアにロードし、
サブルーチン実行要求述語により該サブルーチンを実行
するようにしたのでディスクのFORTRAN等のサブ
ルーチンライブラリに格納されたサブルーチンを論理型
応用プログラムから必要に応じて任意にロード・実行で
きるようになった。このようにして論理型言語のpro
logプログラムとFORTRANサブルーチンの結合
を柔軟に行える効果が得られる。
理系の下で論理型応用プログラムがサブルーチンライブ
ラリと結合して動作するシステムにおいて、論理型処理
系の内部にサブルーチン定義テーブルを設け、かつサブ
ルーチンコードエリアを設け、論理型応用プログラムは
サブルーチン定義述語によりサブルーチン定義テーブル
にサブルーチン名とそのポインタを定義し、次にサブル
ーチンロード述語によりサブルーチンライブラリから該
サブルーチンをサブルーチンコードエリアにロードし、
サブルーチン実行要求述語により該サブルーチンを実行
するようにしたのでディスクのFORTRAN等のサブ
ルーチンライブラリに格納されたサブルーチンを論理型
応用プログラムから必要に応じて任意にロード・実行で
きるようになった。このようにして論理型言語のpro
logプログラムとFORTRANサブルーチンの結合
を柔軟に行える効果が得られる。
第1図はこの発明の結合方式の全体構成図、第2図は第
1図のサブルーチン定義テーブルの詳細構成と動作を説
明する図、第3図は従来の結合方式の全体構成図である
。 1−P r o l o g処理系、2・・・…Pr0
1゜g応用プログラム、3・・・・・・FORTRAN
サブルーチンコードエリア、4・・・・・・FORTR
ANサブルーチンライブラリファイル、5・・・・・・
FORTRANサブルーチンA、11・・・・・・サブ
ルーチン定義テーブル、13・・・・・・サブルーチン
定義述語、14・・・・・・ザブルーチンロード述語、
15・・・・・・サブルーチン実行述語。 代理人 大君 増雄(ほか2名) 躬2図 FORTRAN97°’、 レ−二’J ”f1% ’
Y−7”)l/第3図
1図のサブルーチン定義テーブルの詳細構成と動作を説
明する図、第3図は従来の結合方式の全体構成図である
。 1−P r o l o g処理系、2・・・…Pr0
1゜g応用プログラム、3・・・・・・FORTRAN
サブルーチンコードエリア、4・・・・・・FORTR
ANサブルーチンライブラリファイル、5・・・・・・
FORTRANサブルーチンA、11・・・・・・サブ
ルーチン定義テーブル、13・・・・・・サブルーチン
定義述語、14・・・・・・ザブルーチンロード述語、
15・・・・・・サブルーチン実行述語。 代理人 大君 増雄(ほか2名) 躬2図 FORTRAN97°’、 レ−二’J ”f1% ’
Y−7”)l/第3図
Claims (1)
- 【特許請求の範囲】 論理型処理系の下で論理型応用プログラムがサブルーチ
ンライブラリと結合して動作するシステムにおいて、 前記論理型処理系の内部にサブルーチン定義テーブルを
設け、かつサブルーチンコードエリアを設け、前記論理
型応用プログラムはサブルーチン定義述語により前記サ
ブルーチン定義テーブルにサブルーチン名とそのポイン
タを定義し、次にサブルーチンロード述語により前記サ
ブルーチンライブラリから該サブルーチンを前記サブル
ーチンコードエリアにロードし、サブルーチン実行要求
述語により該サブルーチンを実行するようにしたことを
特徴とする論理型言語の結合方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11612187A JPS63280338A (ja) | 1987-05-13 | 1987-05-13 | 論理型言語の結合方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11612187A JPS63280338A (ja) | 1987-05-13 | 1987-05-13 | 論理型言語の結合方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63280338A true JPS63280338A (ja) | 1988-11-17 |
Family
ID=14679214
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11612187A Pending JPS63280338A (ja) | 1987-05-13 | 1987-05-13 | 論理型言語の結合方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63280338A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03136138A (ja) * | 1989-08-14 | 1991-06-10 | Internatl Business Mach Corp <Ibm> | プロローグと外部プロセスの間の通信方法及び装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60195644A (ja) * | 1984-03-16 | 1985-10-04 | Pentel Kk | 情報処理装置 |
| JPS60230237A (ja) * | 1984-04-27 | 1985-11-15 | Hitachi Ltd | 電算機プログラムのロ−デイング方法 |
| JPS61128326A (ja) * | 1984-11-28 | 1986-06-16 | Toshiba Corp | イメ−ジ表示処理方式 |
-
1987
- 1987-05-13 JP JP11612187A patent/JPS63280338A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60195644A (ja) * | 1984-03-16 | 1985-10-04 | Pentel Kk | 情報処理装置 |
| JPS60230237A (ja) * | 1984-04-27 | 1985-11-15 | Hitachi Ltd | 電算機プログラムのロ−デイング方法 |
| JPS61128326A (ja) * | 1984-11-28 | 1986-06-16 | Toshiba Corp | イメ−ジ表示処理方式 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03136138A (ja) * | 1989-08-14 | 1991-06-10 | Internatl Business Mach Corp <Ibm> | プロローグと外部プロセスの間の通信方法及び装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5666533A (en) | Program execution management using process enclaves which define the scope of high-level language semantics and threads improving cooperation between processes written in multiple languages | |
| EP0674783B1 (en) | An apparatus for executing a plurality of program segments having different object code types in a single program or processor environment | |
| US4084224A (en) | System of controlling procedure execution using process control blocks | |
| US6029207A (en) | Apparatus and method for dynamic linking of computer software components | |
| US5628016A (en) | Systems and methods and implementing exception handling using exception registration records stored in stack memory | |
| Dolan et al. | Concurrent system programming with effect handlers | |
| US6161217A (en) | Accurate method for inlining virtual calls | |
| US8060788B2 (en) | Real-time signal handling in guest and host operating systems | |
| JPH02272627A (ja) | デイジタル・コンピユータ・システムとその手続呼び出し方法 | |
| JPH0638234B2 (ja) | 変換されたプログラムコードのソース命令不可分性を保持するためのシステムおよび方法 | |
| JPH01154267A (ja) | 入出力機器制御プログラムのアドレス解決方法 | |
| JPH02188833A (ja) | アプリケーションとデータベース管理システム間の相互通信システム及び方法 | |
| JPH11237990A (ja) | 混合実行スタックおよび例外処理 | |
| JPH0887420A (ja) | プロセス・スレッドを管理する方法および装置 | |
| JPH01306923A (ja) | 異種言語間連絡方式 | |
| JPH07230386A (ja) | データ処理装置及び制御ルーチン呼出し方法 | |
| JP3322202B2 (ja) | 命令を処理するための方法およびシステム | |
| JPS63280338A (ja) | 論理型言語の結合方式 | |
| KR101244069B1 (ko) | 프로그램 코드 변환시 정밀한 예외 핸들링을 위한 방법 및장치 | |
| EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
| US20060253271A1 (en) | Method for facilitating transformation of multi-threaded process-oriented object code to event-based object code | |
| Vasconcelos et al. | A multithreaded typed assembly language | |
| US20060107257A1 (en) | Executing a native software routine in a virtual machine | |
| CN114969753B (zh) | 动态决定运行态的可加载系统模块实现方法及系统 | |
| JP7271957B2 (ja) | 動的リンク装置、動的ロード装置、計算機システム、動的リンク方法、動的ロード方法、動的リンクプログラム、および動的ロードプログラム |