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
Application number
JP11612187A
Other languages
English (en)
Inventor
Satoshi Murayama
聡 村山
Yuichi Koizumi
裕一 小泉
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP11612187A priority Critical patent/JPS63280338A/ja
Publication of JPS63280338A publication Critical patent/JPS63280338A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、論理型言語PrologやLi5p等とF
ORTRANプログラム(サブルーチン)との結合方式
に関するものである。
〔従来の技術〕
従来の論理型言語prologとFORTRANサブル
ーチンの結合方法に関し第3図に沿って説明する。第3
図では100は、pro 1 og処理系を含むプログ
ラムの全体であり、lはpr。
log処理系、2はprologによる応用プログラム
、103はこのprologプログラムからコールされ
るFORTRANサブルーチンである。応用プログラム
2内には予め特定のサブルーチン名に対応してポインタ
が設定されている。
次にprolog応用プログラム2からFORTRAN
サブルーチン103をコールする際の従来のprolo
g処理系lの動作について説明する。すなわち、pro
log応用プログラム2内で、FORTRANサブルー
チン103へのコールを示す述語の実行要求があること
を検知すると、prolog応用プログラム2は設定さ
れたポインタからFORTRANサブルーチン103本
体に処理を移し実行している。
〔発明が解決しようとする問題点〕
このFORTRANサブルーチン103は、prolo
g応用プログラム2で使用するものをあらかじめ洗い出
して、prolog処理系lにリンクしておく必要があ
り、リンクされていないFORTRANサブルーチンは
使用できなかった。
又新たなFORTRANサブルーチンが必要になる度に
処理系を再リンクしなければならず、実行時に柔軟に任
意に、FORTRANサブルーチンへのコールを行うこ
とができなかった。
この発明は上記のような問題点を解消するためになされ
たもので、prolog応用プログラムからFORTR
ANサブルーチンコールの要求があると、その時点でデ
ィスクのサブルーチンライブラリから必要なFORTR
ANサブルーチンを処理系内にロードし、実行できる論
理型言語の結合方式を提供することを目的としている。
〔問題点を解決するための手段〕
この発明においては、論理型処理系1の下で論理型応用
プログラム2がサブルーチンライブラリと結合して動作
するシステムにおいて、論理型処理系の内部にサブルー
チン定義テーブルを設け、かつサブルーチンコードエリ
アを設け、論理型応用プログラムはサブルーチン定義述
語13によりサブルーチン定義テーブル11にサブルー
チン名とそのポインタを定義し、次にサブルーチンロー
ド述語14によりサブルーチンライブラリ4から該サブ
ルーチン5をサブルーチンコードエリア3にロードし、
サブルーチン実行要求述語15により該サブルーチン5
を実行するようにした。
〔作用〕
論理型応用プログラム2からサブルーチン5の実行要求
があると、サブルーチン定義テーブル11を参照して、
サブルーチンライブラリ4から該サブルーチン5をサブ
ルーチンコードエリア3にロードし、ここで実行する。
応用プログラム2は必要に応じてサブルーチン定義テー
ブル11に基づき任意のサブルーチン5と結合できる。
〔実施例〕
以下この発明の一実施例を図面を参照して説明する。
第1図において、1は論理型言語のprot。
g処理系、2はprolog応用プログラム、3はディ
スクに格納されたFORTRANサブルーチンをロード
するFORTRANサブルーチンコードエリア、4はデ
ィスク装置内のFORTRANサブルーチンライブラリ
ファイル、5はFORTRANサブルーチンAである。
FORTRANサブルーチンライブラリファイル4には
、その他にFORTRANサブルーチンB等複数のサブ
ルーチンが格納されており、prolog処理系1内に
はサブルーチン定義テーブル11が設けられている。
prolog応用プログラム2からFORTRANサブ
ルーチンA5の実行要求があると、あらかじめ処理系内
1に定義されたFORTRANサブルーチン定義テーブ
ル11を参照して、FORTRANサブルーチンライブ
ラリファイル4から当富亥すフ゛ル−チン5のオフ゛ジ
ェフトコードをF0RTRANサブルーチンコードエリ
ア3にロードし、ここに処理を移して実行する。
第2図は、Prolog処理系内の詳細構成を示し、新
たに設けられたFORTRANサブルーチン定義テーブ
ル11.FORTRANサブルーチンコードエリア12
及びこれを使用してpr。
log応用プログラムFORTRANサブルーチンをダ
イナミックに定義し、ロードし、実行するために新たに
設けた各組込述語13,14.15を示している。
次に動作について説明する。
prolog応用プログラム2からFORTRANサブ
ルーチンA、B・・・・・・を使用したいとき、まず、
FORTRANサブルーチン定義述語13を実行する。
これによって、FORTRANサブルーチン定義テーブ
ル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を検索し、サブルーチン本体に処
理を移す。
このような処理手順を踏むことにより、prolog応
用プログラム2は、FORTRANサブルーチンA、B
・・・・・・の定義、ロード、実行と夫々制御でき、柔
軟に必要になったFORTRANサブルーチンA、B・
・・・・・との結合を行うことが可能となる。
なお、上記の例は論理型言語としてProl。
gに適用する場合について記述したが、同様に、Lr5
P等についても適用が可能で同じような効果が得られる
〔発明の効果〕
以上説明してきたように、この発明によれば、論理型処
理系の下で論理型応用プログラムがサブルーチンライブ
ラリと結合して動作するシステムにおいて、論理型処理
系の内部にサブルーチン定義テーブルを設け、かつサブ
ルーチンコードエリアを設け、論理型応用プログラムは
サブルーチン定義述語によりサブルーチン定義テーブル
にサブルーチン名とそのポインタを定義し、次にサブル
ーチンロード述語によりサブルーチンライブラリから該
サブルーチンをサブルーチンコードエリアにロードし、
サブルーチン実行要求述語により該サブルーチンを実行
するようにしたのでディスクの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図

Claims (1)

  1. 【特許請求の範囲】 論理型処理系の下で論理型応用プログラムがサブルーチ
    ンライブラリと結合して動作するシステムにおいて、 前記論理型処理系の内部にサブルーチン定義テーブルを
    設け、かつサブルーチンコードエリアを設け、前記論理
    型応用プログラムはサブルーチン定義述語により前記サ
    ブルーチン定義テーブルにサブルーチン名とそのポイン
    タを定義し、次にサブルーチンロード述語により前記サ
    ブルーチンライブラリから該サブルーチンを前記サブル
    ーチンコードエリアにロードし、サブルーチン実行要求
    述語により該サブルーチンを実行するようにしたことを
    特徴とする論理型言語の結合方式。
JP11612187A 1987-05-13 1987-05-13 論理型言語の結合方式 Pending JPS63280338A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03136138A (ja) * 1989-08-14 1991-06-10 Internatl Business Mach Corp <Ibm> プロローグと外部プロセスの間の通信方法及び装置

Citations (3)

* Cited by examiner, † Cited by third party
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 イメ−ジ表示処理方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 動的リンク装置、動的ロード装置、計算機システム、動的リンク方法、動的ロード方法、動的リンクプログラム、および動的ロードプログラム