JPS5941064A - プロログ処理装置 - Google Patents

プロログ処理装置

Info

Publication number
JPS5941064A
JPS5941064A JP57150831A JP15083182A JPS5941064A JP S5941064 A JPS5941064 A JP S5941064A JP 57150831 A JP57150831 A JP 57150831A JP 15083182 A JP15083182 A JP 15083182A JP S5941064 A JPS5941064 A JP S5941064A
Authority
JP
Japan
Prior art keywords
predicate
section
clause
argument
field
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
JP57150831A
Other languages
English (en)
Inventor
Mamoru Umemura
梅村 護
Minoru Yokota
実 横田
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
Nippon Electric Co Ltd
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, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP57150831A priority Critical patent/JPS5941064A/ja
Priority to CA000435680A priority patent/CA1200907A/en
Priority to AU18574/83A priority patent/AU554332B2/en
Priority to EP83108600A priority patent/EP0104487B1/en
Priority to US06/528,340 priority patent/US4546432A/en
Priority to DE8383108600T priority patent/DE3380076D1/de
Publication of JPS5941064A publication Critical patent/JPS5941064A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4496Unification in logic programming

Abstract

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

Description

【発明の詳細な説明】 本発明は述語論理に基づくプログラミング言語プロログ
を処理する装置にかかわる。
プロログにおいては表現すべき事象を述語名とその引数
の結合から成る「述語」によって表現し更に述語間の関
係を記述する。例えば,「太郎は果物を好む」という事
象は下記のように記述できる。
好む(太郎,*物)←果物(*物) 本例で「好む」と「果物」を述語名,「太郎」,「*物
」を引数と称し,*印はその引数が変数であることを表
わす。即ち,上例は,「太郎」は,「果物」という述藺
名で表記された述飴の引数として書かれている事物を「
好む」ことを表現している。したがって, 果物(いちご)。
という文が他に書かれていれば,三段論法の推論によっ
て,「太郎はいちごを好む」という結論が得られる。
グロログを従来型の計算偵て央行することは可能である
。しかしながら,プロログの処理手順は従来屋のプログ
ラミング言飴の処理手順とは異なっている。また,棟々
のプログラミング言1}の処理形態に応じたアーキデク
チャを備えるいわゆる高級言飴マシ/も,プロログ処理
手順に合致するものは無い。このため,従来型の計算機
ではブロログを効率良く処理することはできない。した
がって本発明の目的は,プロログの処理手順に倉紋する
ために必要な構成要素を備えることによってプロログを
専用に効率良く処理することのできる装置を提供するこ
とにある。
すなわち本発明の装置は,述語名とその引数より成る述
飴で表わす事象の間の関係を記述するととにより,解く
べき問題を書き下すプログラミング言語プロログを処理
する装置において,前記述語名とその引数の関係,前記
述語名間の条件関係を表現する複数箇のフィールドを備
えた制御語を格納する記憶装置と,前記記憶装置から読
み出された制御胎の前記各フィールドが示す述語名,引
数等を表現する制御飴へのポインタを保持する複数個の
ポインタレジスタと,前記複数箇のポインタレジスタの
うち一時には一つのポインタレジスタを選択して前記記
憶装置をアクセスする手段および,前記述語間の関係を
次々にたどる道筋を保持するためのスタック機構および
複数箇の内部レジスタを含む制御装置とを備え,前記制
御装置の制御の下に前記記憶装置から読出される前記制
御語の記載に従って,前記引数の対応づけを行いながら
,前記述語名間の条件に基づいて述語を探索することに
より,述語論理型プログラムを実行することを可能とす
るプロログ処理装置である。
以下本発明の一実施例を図面を用いて詳細に説明する。
本実施例では,プロログの述語を次の形式で表現する。
:i2JS語名(引数1,引数2,−)引数は定数また
は変数であシ,変数引数の先頭には*印を付けて区別す
る。プログラムの一文を節と呼び,一般形式は以下のと
おシである。
述語1←述語2,述飴3,・=,A飴n,←印は論理記
号であり,その左側に存在し得る述語は尚々−・箇であ
る。これをヘッド部と呼び,←印の右側をボディ部と呼
ぶが,ボディ側の述語を区切る1,′印は,述語間の論
理積を表わす。上記の一般形式は述語2,述語3,・・
・,述飴nの論理積が成立するとき,述語1が成立する
ことを表現しておシ,この形式を規則節と呼ぶr般形式
の特殊形として,ヘッド部のみから成る節を宣言節,ボ
ディ部のみから,伐る節を間合わせ節と呼ぶ。
プロログのプログラム実行は,以下のステップで行われ
る。
(1)節のボディ部に明1われる述語と同一の述語をヘ
ッド部に持つ節を見出す。ここで双方の述語の引数同士
をその並び順に比較し,一致を調べる操作を行う。引数
同士の比較において,一方が変数,他方が定数であれば
,変数に定数の値がバインドされる。また双方共に変数
であれば同一値を採るべく,一方が他方へのポインタに
付き換える。
(2)ステップ(1)で比較の結果述語同士の一致が確
昭された節が見出されると,その節のボディ部の処理へ
と移り.ステップ(1)へ戻る。もしその節が亘言節で
あれば,ステップ(1)の最初に参照された節のボディ
の引き続く述語の処理一N移る。
本し引続く述胎が無ければ全処理を終了する。
第1図は,プロログのプログラム例を示す。図中,P1
,P2は述語名,h,B,cは定数引数,*Xは変数引
数である。節1は規則節であり,節2,t@3は宣言節
,節4は間合わせ節である。プログラムの実行は間合わ
せ節から始まる。第1図の例では,節4から始まり,ス
テップ(1)によって節1が見出される。ステップ(2
)でボディ部の処理2oへ進み,ステップ(1)へ戻っ
て節2が見出される3,ここで変数引数*Xには節2の
引数Bがバインドされる。節2は宣言節であり,且つ節
4の述語が単一である為,プログラムの実行は終了し,
*Xにバインドされた値j〕が,節4の*Xに返される
本実施例の装置においては,プロログの節の内部表現と
して,ハ32図に示すような5橿類の表形式を用いる。
iA2図の21は手続テーブル(P’r),22は節テ
ーブル(CT),23はヘッドテープル(}i’l’)
,24はボディテーブル(BT),25は引数テーブル
(AT)である。谷表のフォーマットは一様であり,4
檜のフィールドから成っている。211,221,23
1,241,251は,各テーブル誠別子を含むフィー
ルドである。
PTのエントリは,ヘッド部に現れる述飴名毎に1つ作
られる。PTのフィールド212は,他のI’Tエント
リのメモリ格納番地,フィールド213は述飴名,フィ
ールド214ぱCTの先頭エントリのメモリ格納番地で
ある。
CTのエントリは,プログラムの節毎に1つ作られる,
CTのフィールド222は,同一の述語名をヘッド部に
持つ節に対応する他OCTエントリのメモリ格納番地,
フィールド223はHTエントリのメモリ格納番地,フ
ィールド224は13Tエントリのメモリ格納番地を含
む。
HTのエントリは,ヘッド部の引数毎に1つ作られる。
H’lI’のフィールド232は同一のヘッド部述飴の
他の引数に対応するIlTエントリのメモリ格納番地,
フィールド233は引数の値を含む。
フィールド234は未使用である。
BTのエントリは,節のボ゛ディ部に現われる述語毎に
1つ作られる。13Tのフィールド242は,節内の他
のHTエントリのメモリ格納番地,フィールド243は
対応する述語名,フィールド244は引数情報を格納す
るATエントリのメモリ格納番地を含む。
A′rのエントリは,ボディ部に現われる述語の引数毎
に1つ作られる。AT25のフィールド252は,他の
AT二ントリのメモリ格納番地,フィールド253は引
数の値を含む。フィールド254は使用しない。
引数を含むフィールド233および253は,対応する
引数が変数であるとき,特別な扱いが必要となる。変数
引数は,名前の先頭に*を付されて表わされるが,1つ
の節内で同一の表現(例えば*Aと*A,*Bと*B)
が成されるときには同一の値を持つべき変数として扱う
。即ち,1つの節のヘッド部,ポディ部をとおして,同
一の変数名が現れたときには,2つ目以降に対応ずる引
数格納フィールド233又は253は,1つ目の引数が
出現したHTまたはATのエントリのメモリ格納番地を
含む。
第3図は,以上説明した内部表現によって第1図のプロ
グラム例を表現した図である。図中,nullは,メモ
リリンクの終端であることを表わす。また,第3図の左
端のPTI・・・AT3は夫々のテーブルエントリ名を
示す。
以下第1図に示したプログラム例の節IP1(A,*X
)←P2(*X) の内部表現について詳細に説明する。
PTIは,述語名r}’IJに対応するl’Tのエン}
IJで,他の述語名「P2」に対応するエントリPT2
へのポインタと,述語名[PIJお工び「P1.jをヘ
ッド部に持つ節に対応するCTのエントリCT1−\の
ポインタを含む。
(.:’iiは釣1lに対応するCTのエントリである
述語名「P1」をヘッド部に持つ節は単一の為,このエ
ントリの第2フィールド(第2図222に対応)はnu
llである。第3のフィールドは,ヘッド部の述語の引
数毎に作られるJ{’f’の先頭エントリへのポインタ
を含む。第4フィールドは節1のボディ部を表現するた
めのBTのエントリへのポインタである。
}i’L’lは,jlr}j]ヘッド部の第1引数rA
Jに対応するエントリで,次の引数「*X」に対応する
二ントリ}lT2へのポインタ,および引数名「A」を
含む。HT2は「*X」に対応し,引数値として変数で
あることを示す*が格納される。
CTIの最右端フィールド(第4フィールド)で指定さ
れるBTIは,節1のボディに対応して賛7 いる。このボディは述胎を1攻ぢみの為,第2のフィー
ルド紘nu11である。第3のフィールドはこの述語の
引数を表わすATのエンiJA’l’1へのポインタを
含む。
ATIの第3フィールドは,ポデイ述飴の引数を含む。
この引数は節1のヘッドの変数「*X」と同一であるた
め創造のようにこれを底現しているHT2のポインタが
格納される。
第1図の第2行目以降の内部表現については細部を除き
,節1と同様である。したがって冗長を防ぐため説明は
省略する。
第4図は,本発明の装置の一実施例を示すブロック図で
ある。図中41は,第3図の説明で述べた内部表現をこ
のままの形で格納する記憶装置,42は記憶装置41の
アド1/スレジスタ,43は記憶装置41の読出しレジ
スタ,44,45.46は貌出しレジスタ43に読出さ
れる第2,第3,弟4のフィールドの内容を夫々保持す
るポインタレジスタ群.47は,ポインタレジスタ44
,45.46のうちの1つを選択してアドレスレジスタ
42に与えるだめのセレクタ,48はスタック機構を含
む制御部である。制御部48は,従来型のプロセリザと
全く同様のため,内部機構については特に述べない。ま
た第4図には説明の為に必要な事柄のみ示してあ9,細
部は省略してある。
第4図で,アドレス1/ジスタ42で指定するアドレス
がバス421を介して記憶装ri4lに送られると,出
力がバス410を介して耽出しレジスタ43に送られる
。読出しレジスタ43には第2図に示す表形式の1エン
}IJか読み出される。第1のフィールドはバス431
を介して制御部48へ印加され,第2のフィールドはバ
ス432i介してポインタレジスタ44へ,第3のフィ
ー・ルドはバス433を介してボインクレジスタ45へ
,第4のフィールド1:バス434を介してボ・fンタ
レジスク46へ印加される。パス4:32,433,4
;34は,制御彰48へも印加される。ポインタ1/ジ
スタ44,/15,’46は夫々バス441,451#
461を介してセレクタ,l7に接続されている。セレ
クク47の串力はバス47Jを介してアドl/スレジス
タ42へ印加され,セレクタ47のセレクト信号は制御
部48よシバス481を介して与えられる。
制御部48は,読出しレジスタ43がらパス431,4
:32,433,434を介して送られる記憶装置41
の内容を解析し,とくにバス431を介して与えられる
テーブル識別子によって,テーブルの種類を検知して必
要に応じた動作を遂行するよう構成される。このための
機構は公知の゜マイクロブロ七9サにおける機構と全く
同一であるため,詳細には述べず,以後,木発明の中心
的な動作のみにつbて説明する。
第5図(11,(2)は,第1図のプログラム例の実行
ステップを説明するための図である。図中,ボインクレ
ジスタ44,45,46を夫々Rl,几2,B.3と略
記t7ていろ。第5図はステップ番号,テーブルエント
リの記憶:WF地,R1,H,2,Iも3にロードされ
た内容,制御部内のスタ・lフの内容,および動作の順
に記述してある。
M4図の記憶装置41の読出し幹はテーブルのl工二/
トリに合わせてあシ,番地4まテーブルの1エントリ毎
に付される。しだがって第4図の記憶装[410内dは
第3図に示す形式と全く同一であり,弟3図のエン1・
v名PTl・・・AT3はνIIち,記憶アドレスに対
応している。
以↑゛弗3図,弟4図および弟5図を用いて,弟1図に
示した例題プログラムの不夷施例における実行動作を説
明する。
弟1図において,節4はプロログにおける間合わせの命
令を表わしている。即ち,節4のg口くボディ部のみか
ら成る顯によって実行か始まる。本例の命令ぱ,(’*
XJに幻応する定数を三段論法の推論によって求めるも
のである。
節4の内部表現は,第31に示すとお9,記憶装144
1の7ドレスCT4以降にロードされている。制御部4
8は,ブドレスレジスタ42i/>T4をロードL,,
{7)内容を欣み出すことによって実行を開始する。(
この動作のための機構は通猟の計JiI.機におけると
全く同様のため,第4図では図示し”Cいない。)アド
レスeT4の内容は読出しレジスタ43に読出さオL,
バス4.{1,432,433,434を介して制御部
48に送られる。制御部48はバス431を介して送ら
れたテーブル識別子により,節テーブルであることを検
知する。
また,テーブルの第2,第3および第4のフィールドは
夫々ポインタレジスタ44(LLI),45(R2)4
6(几2)にもセットされる。制御部48は節テーブル
であることを検知すると,フィールド2,3を調べ,共
にnullであることからこの節が命令節であることを
知シ,フィールド4の内存からボディテーブルを索く。
このため,バス481を介してセレクト信号を送シ,ポ
インタレジスタ46(R3)を選択し,その内谷をアド
レスレジスタ42にロードする。第5図(11のステッ
プ■はここまでの経過を示している。次のステップは(
R3)を番地として続出されたBT2番地の内容の処理
である。再びバス431を介して与えられる表識別子に
よって,制御部48がボディテーブルのエントリである
ことを検知すると,制御部48は,フィールド3に含ま
れるボディ部の述語名「P1」を制御部48の内部レジ
スタPNR(図示せず)にセットする。次に,フィール
ド4の内容(几3)をアドレスとして,引数テーブルA
T2をアクセスする。(以上,第5図(1)ステップ■
)。AT2のフィールド3の内容は,引数値「A」であ
る。制御部48は内部スタックにrAJをプッシュダウ
ンした後,フィールド2をアドレスとして引続く引数を
アクセスする。(以上第5図(1)ステップ■)。こう
して読出されたAT3のフィールド3の1直「*」が更
にスタックにプッシュダウンされる。AT3のフィール
ド2がnullであることから,これが最終引数である
ことがわかると,制御部48は,ステップ■でレジスタ
PNI{にセットしたボディの述語名を用いて,手続き
テーブルPTをサーチし,同一の述語名をヘッドに持つ
節を探索する処理へと進む(第5図(1)ステップ■)
。具体的にはPTの先頭エントリをアクセスし,その第
3フィールドに書かれている述語名とレジスタPNRに
記憶されている述語名との比較を行う。いま,PTIが
先ず読出され,その第3フィールド値「P1」と,レジ
スタPNRの値「P1」が比較され,一致が検出される
。これによって,rPIJをヘッド部に持つ節へのポイ
ンタをフィールド4から得る。即ち,(lも3)をアド
レスとして記憶装置41をアクセスする。
(1) (以上,第5請くテップ■)。次に読出される(.1’
r1の内容は第1図の節1を表現する節テーブルエン}
IJである。以降,制御部48およびその他の装置間の
動作は上述の動作と同様の為,以下,第5図のみを用い
てスタックの動きを中心に説明する。
第5図(1)のステップ■は,前述のCTIO内芥を示
しており,先ずフィールド3で示されるHTIの内容,
即ち,節lのヘッド部第1引数情報のati出しを指示
する。ステップ■ではrAJを,ステップ■では引続く
引数「*」を得て,スタ、アクにプッシュダウンする。
ここで第1,第2の引数をスタックに記憶されている節
4の第1,第2引数と夫々比較し,一致を調べ,一致す
れば処理を続行する。第2の引数は共に変数である為,
節1の第2引数値や記憶しているスタックのエントリ4
は,節4の第2引数を記憶するスタックのエントリ2へ
のポインタに書かえられる。(ステップ■)。
第2図に示すように}ITの第4フィールドは未使用の
為,HTの読出し時にはR3の内容は不変である。以上
の動作によっで引数のバインドが終rすると,UTIの
第4フィールドに示されているBTへのボインク(lL
3)i用いて記憶装[41をアクセスし,ボディ部の処
理へ移る。
第5図(2)のステップ●以降の動作はB’l’lの内
谷,即ち,節1のボディ情報の処理を示している。
この処理はスデッグ(のからステップ■までの創作説明
と同様である。即し,ステップのでは節1のボディ部の
述語名「P2」がレジスタP’NItにセ,l・される
。ステップ0ではATIが1洸出されるが,フィールド
3には,予めHT2へのポインタが埋め込まれている。
このときには,H’I’2の処理時に作られたスタック
エントリへのポインタが作られて,スタックへのプッシ
ュが行われる。本例ではスタックエ/トリ4へのポイン
タとなる。
引続いてrl’2,Jをヘッド部に持つ節を探索する。
ステップ@ではPTIの述語名「P1」と比較して不一
致が検出され,次のエン}!jPT2の読出しが指示さ
れる。ステップ0においてPT2の述飴名は「P2」で
あり,比較の結果一致が検出される為,対応する節2の
節テーブルエン}!JCT2の読串しが指示される。ス
テップ■は節2に対応する内存であル,(几2)を用い
てHT3のアクセスが指示される。ステップ■では7イ
ールド3に定数「B」が書かれている為,ステップ■お
よびステップ■で夫々,スタックエントリ4および3に
書かれたポインタをたどって,スタックエントリlにこ
の「B」が格納される。CT2のフィールド4がnul
lであることから,この節が宣言節であることがわか夛
,動作を終了する。この時点で,節4の変数「*X」へ
,値rBJがバインドされる。節4のボディを表現して
いるボディテーブルエントリBT2の第2フィールドが
nullであるためスタ,クをすべてボップア,プして
間合わせ節のポディ部処理を終了し,初期の目的を達成
してプ日グラム処理を終る。
尚,第1図の利では説明が繁雑になることを防ぐため,
ボディ部の述鉛が複数箇存在するときの動作説明は行わ
なかったが,この時には第3図のエントリBT2の第2
フィールドがnullてあるかわりにリンクが格納され
ている。この際には上記ステップ[相]に引続き,この
リンクで指されるBTエン}IJの処理が行われるが,
その動作は上記動作のくり返しとなる。
また,プロログ言飴の処理においては,ボディ部の述語
処理の際に,それと同一の述飴をヘッド部に持つ節を見
出すことができなかったときには,処理を中断する。こ
れを失敗処理と呼ぶ。失敗処理の為には,ボディ部処理
の特定の位置を制御部48内の他のレジスタに記憶して
おくことによシ,その位禦からの処理のやり直しを行う
。(バックトラック処理)。この処理によって変数引数
のバインド方法を変史した上で処理を進め,最終的には
すべてのバインド方法を試みる。これらの一連の処理を
行うための拡張は.本実施例の制御部48において,吏
に複数箇の内部レジスタを用いることによって実現でき
ることは言うまでもない。
以上の説明で明らかなように,本発明の特許請求の範囲
を述べた要素を備え九装置によシ,述飴論理型言語プロ
ログが実行される。
本実施例は,特許請求の範囲に記載された装置の一具体
例にすぎず,上記記域を限定するものでないことは明ら
かである。
【図面の簡単な説明】
第1図はプロログのプログラム例を示す図,第2図は実
施例における内部形式を示す図,第3図は第1図のプμ
グラム例を第2図に示した内部形式によって表現したと
きの記憶装置イメージを示す図,第4図は本発明の装置
の一実施例を示すブロック図,第5図(1),(2)は
第1図のプログラム例を第4図に示した実施例によって
実行するときのステップを示す実行ステップ図である。 第4図において,41はプロログのA@名とその引数の
関係,述語名間の条件関係,およびそれらの接続関係を
表現する複数箇のフィールド全備見た制御語を格納する
記憶装置,42は記憶装置4lのアドレスレジスタ,4
3は記憶装置41の読出しレジスタ,44,45.46
は記憶装置41から読み出された制御語の前記各フィー
ルドが示す述飴名,引数等を表現する制御語へのポイン
タを保持するレジスタ,47はレジス/44,45.4
6のうち一つの内容を選択してアドレスレジスタ42へ
送出するためのセレクタ,48は述語間の関係を次々に
たどる道筋を保持するためのスタック機構と内部レジス
タを含み,且つ,上記装置要素を制御するための制御装
置である。 −363− 手続補正書(自発) 58.’l;, 昭和年小で日 持許庁長宮殿 1、事件の表示昭和57年特許願第150831号2.
発明の名称プロpグ死理装淑 3.補正をする者 事件との関係出願人 東京都港区芝五丁1」33番1号 (423)日本電気株式会社 代表者関本忠弘 4.代理人 〒108東京都港区芝五丁目37番8号住友三口1ビル
日本電気株式会社内, 電話東京(03)456−3111(人代表)竿(65
91)弁理士内原 (連絡先11本電気株式会社特許部) 5、補正の対象 明糾香の発明の詳細な説明の欄 6.補正の内容 1)明I剖書第6負第5行■に「一方が他方への」とあ
るのを「一方r他方への」と補正する。 2)明aJ讐弟7貝第14行目に「現れる述昭名」とあ
るのを「現れるユニークな述飴名」と袖正する。 3)明細4弟10負第3行目にE節&C対応する」とお
るのを「先頭の節に対応する」と補正する。 4)明細.%&F第13頁第17行目に「スタッフ」と
あるのを「スタック」と補正する。 5)明細誓第14負第lO行目に「節によって」とめる
のを「節の読出しによって」と補正する。 6)明細1l第15頁の第6行目にr46(l{,2)
Jとあるのをr46(R3)Jと袖止する。 7)明細書第17頁の第20行目に「第2引数値や」I とあるのを「第281数値を」と補正する。

Claims (1)

    【特許請求の範囲】
  1. 述飴名とその引数よ9成る述語で表わす早象の間の関係
    を記述することにより.解くべき問題を瞥き下すプログ
    ラミング言語プロログを処理する装置において,前記述
    語名とその引数の関係.前記述語名間の条件関係,およ
    びそれらの接続関係を表現する複数箇のフィールドを備
    えた制御語を格納する記憶装置と,前記記憶装置から読
    み出された制御語の前記各フィールドが示す述語名,引
    数等を表現する制御語へのポインタを保持する複数個の
    ポインタレジスタと,前記複数箇のポインタレジスタの
    うち一時には一つのポインタレジスタを選択して前記記
    憶装置をアクセスする手段および.前記述語間の関係を
    次々κたどる道筋を保持する友めのスタック機構および
    複数箇の内部レジスタを含む制御装置とを備え,前記制
    御装置の制御の下に前記記憶装置から読出される前記制
    御飴の記載に従って,前記引数の対応づけを行いながら
    ,前記込飴名間の条件に基づいて述語を探索することに
    よシ,述飴論理型プログラムを実行することを可能とす
    るプロログ処理装置。
JP57150831A 1982-08-31 1982-08-31 プロログ処理装置 Pending JPS5941064A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP57150831A JPS5941064A (ja) 1982-08-31 1982-08-31 プロログ処理装置
CA000435680A CA1200907A (en) 1982-08-31 1983-08-30 Prolog processing system
AU18574/83A AU554332B2 (en) 1982-08-31 1983-08-31 Prolog processing system
EP83108600A EP0104487B1 (en) 1982-08-31 1983-08-31 Logic programming language processing system
US06/528,340 US4546432A (en) 1982-08-31 1983-08-31 Prolog processing system
DE8383108600T DE3380076D1 (en) 1982-08-31 1983-08-31 Logic programming language processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57150831A JPS5941064A (ja) 1982-08-31 1982-08-31 プロログ処理装置

Publications (1)

Publication Number Publication Date
JPS5941064A true JPS5941064A (ja) 1984-03-07

Family

ID=15505337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57150831A Pending JPS5941064A (ja) 1982-08-31 1982-08-31 プロログ処理装置

Country Status (6)

Country Link
US (1) US4546432A (ja)
EP (1) EP0104487B1 (ja)
JP (1) JPS5941064A (ja)
AU (1) AU554332B2 (ja)
CA (1) CA1200907A (ja)
DE (1) DE3380076D1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4964060A (en) * 1985-12-04 1990-10-16 Hartsog Charles H Computer aided building plan review system and process
SE451219B (sv) * 1986-03-05 1987-09-14 Stiftelsen Inst Mikrovags Dataanordning fremst avsedd for exekvering av program i form av soktred, s k or parallel execution
US5016164A (en) * 1986-04-21 1991-05-14 Texas Instruments Incorporated Computer system having delayed save on procedure calls
US5222221A (en) * 1986-06-17 1993-06-22 Yeda Research And Development Co., Ltd. Method and apparatus for implementing a concurrent logic program
JPS6355636A (ja) * 1986-08-27 1988-03-10 Hitachi Ltd デ−タ処理システム
US4961139A (en) * 1988-06-30 1990-10-02 Hewlett-Packard Company Data base management system for real-time applications
JPH0285927A (ja) * 1988-09-22 1990-03-27 Hitachi Vlsi Eng Corp 記憶装置
EP0414651A1 (en) * 1989-08-14 1991-02-27 International Business Machines Corporation Prolog interrupt processing
EP0415894B1 (en) * 1989-08-14 1995-11-15 International Business Machines Corporation Improved prolog addressing
US5274820A (en) * 1989-08-14 1993-12-28 International Business Machines Corporation Method and system for eliminating operation codes from intermediate prolog instructions
US5274821A (en) * 1989-08-14 1993-12-28 International Business Machines Corporation Communication between prolog and an external process
US5307445A (en) * 1991-12-02 1994-04-26 International Business Machines Corporation Query optimization by type lattices in object-oriented logic programs and deductive databases
GB2317464A (en) * 1996-09-23 1998-03-25 Advanced Risc Mach Ltd Register addressing in a data processing apparatus
US6701516B1 (en) 1998-05-21 2004-03-02 Qifang Li P++ software
US7302399B1 (en) * 1999-11-10 2007-11-27 Electronic Data Systems Corporation Method and system for processing travel reservation data
US6654878B1 (en) * 2000-09-07 2003-11-25 International Business Machines Corporation Register bit scanning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2939120A (en) * 1957-12-23 1960-05-31 Ibm Controls for memory devices
US3426332A (en) * 1966-12-15 1969-02-04 Ibm Data handling apparatus with recurrent address manipulation to access a plurality of storage areas
UST954011I4 (en) * 1971-03-31 1977-01-04 International Business Machines Corporation Method and apparatus for operating computer apparatus in response to program statements
US3955180A (en) * 1974-01-02 1976-05-04 Honeywell Information Systems Inc. Table driven emulation system
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4366536A (en) * 1980-04-15 1982-12-28 National Semiconductor Corporation Modular digital computer system for storing and selecting data processing procedures and data
US4434465A (en) * 1981-04-13 1984-02-28 Texas Instruments Incorporated Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer
US4438512A (en) * 1981-09-08 1984-03-20 International Business Machines Corporation Method and apparatus for verifying storage apparatus addressing
US4466057A (en) * 1981-09-15 1984-08-14 Data General Corporation Digital data processing system respoonsive to instructions containing operation code modifiers

Also Published As

Publication number Publication date
EP0104487B1 (en) 1989-06-14
DE3380076D1 (en) 1989-07-20
US4546432A (en) 1985-10-08
AU1857483A (en) 1984-03-08
EP0104487A2 (en) 1984-04-04
EP0104487A3 (en) 1986-12-03
AU554332B2 (en) 1986-08-14
CA1200907A (en) 1986-02-18

Similar Documents

Publication Publication Date Title
JPS5941064A (ja) プロログ処理装置
US4712189A (en) Table driven translator
US4785400A (en) Method for processing a data base
JPS60501921A (ja) 並列テキスト照合の方法および装置
US5301289A (en) Cache device for supplying a fixed word length of a variable instruction code and instruction fetch device
JPH1078959A (ja) エッジデータ構造を統一する方法
US20080235004A1 (en) Disambiguating text that is to be converted to speech using configurable lexeme based rules
JPH0689302A (ja) 辞書メモリ
JPH0664911B2 (ja) 内容でアドレス指定可能なメモリ・アレイ
US3959777A (en) Data processor for pattern recognition and the like
EP0241001A2 (en) Information processing apparatus having a mask function
US5905977A (en) Method for automatic demonstration
JPS61210478A (ja) ベクトル処理装置
US4812970A (en) Microprogram control system
US4342080A (en) Computer with microcode generator system
JP6924461B2 (ja) 変数を含んだ文字列をリテラルとして許容する論理プログラムを処理する方法、コンピュータプログラム及び装置
JPS5853791B2 (ja) 文字認識装置
JPS62113240A (ja) プロログ処理装置
JPH046984B2 (ja)
JPH0784797A (ja) ロードモジュールへのソースコード行番号登録方法および装置
JPH0785058A (ja) 情報検索装置
JPS6155736A (ja) プロロ−グマシン
JPS6214919B2 (ja)
CN116775814A (zh) 用于跨语言检索的句子表示生成
JPH0553808A (ja) 演算処理装置