JPS60540A - 述語論理型言語処理装置 - Google Patents
述語論理型言語処理装置Info
- Publication number
- JPS60540A JPS60540A JP58108679A JP10867983A JPS60540A JP S60540 A JPS60540 A JP S60540A JP 58108679 A JP58108679 A JP 58108679A JP 10867983 A JP10867983 A JP 10867983A JP S60540 A JPS60540 A JP S60540A
- Authority
- JP
- Japan
- Prior art keywords
- clause
- predicate
- selection circuit
- buffer
- variable
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 235000013399 edible fruits Nutrition 0.000 description 5
- 241000220223 Fragaria Species 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 235000016623 Fragaria vesca Nutrition 0.000 description 2
- 235000011363 Fragaria x ananassa Nutrition 0.000 description 2
- 102400000926 Sperm histone HP3 Human genes 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 101500027295 Homo sapiens Sperm histone HP3 Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 235000021012 strawberries Nutrition 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の属する技術分野〕
本発明は述語論理型言語処理装置に関する。
述語論理型言語処理装置とは述語名とその引数よシなる
述語の連な)から成る節の集合として書き下す述語論理
型言語を処理する装置であるが、以下プログラミング言
語であるプ目ログ言語を例にとシ説明する。
述語の連な)から成る節の集合として書き下す述語論理
型言語を処理する装置であるが、以下プログラミング言
語であるプ目ログ言語を例にとシ説明する。
プロログにおいては表現すべき事象を述語名とその引数
の結合から成る「述語」によって表現し、更に述語間の
関係を記述する。例えば「太部は果物を好む」という事
象は下記のように記述できる。
の結合から成る「述語」によって表現し、更に述語間の
関係を記述する。例えば「太部は果物を好む」という事
象は下記のように記述できる。
好む(太部9畳物)←果物(骨物)
本例で「好む」と「果物」を述語名、「太部」「養物」
を引数と称し、蒼印はその引数が変数であることを表わ
す。即ち、上側は「太部」は「果物」という述語名で表
記された述語の引数として書かれている事物を「好む」
ことを表現している。
を引数と称し、蒼印はその引数が変数であることを表わ
す。即ち、上側は「太部」は「果物」という述語名で表
記された述語の引数として書かれている事物を「好む」
ことを表現している。
従りて
1果物(いちご石という文が他に書かれていれば、三段
論法の推論によって、「太部はいちごを好む」と−う結
論が得られる。
論法の推論によって、「太部はいちごを好む」と−う結
論が得られる。
前記のプロログは述語論理型言語としてその利用領域が
拡大している。しかし、更に利用領域を拡大するために
は、プログラムの処理効率を高める必要がある。
拡大している。しかし、更に利用領域を拡大するために
は、プログラムの処理効率を高める必要がある。
従来、このプロログの処理は汎用計算機で実現されてす
る。しかしながら、汎用計算機のハードウェア構成によ
る制約を受け高速にプロログプログラムを処理すること
ができなかった。
る。しかしながら、汎用計算機のハードウェア構成によ
る制約を受け高速にプロログプログラムを処理すること
ができなかった。
プロログプログラムの実行は述語間の一致を比較する処
理が基本に々っている。例えば、前記の「・・←果物(
骨動。」と「果物(いちご)。」とを比較して両述語間
の一致を調べる処理が基本である・この処理を高速に実
現するためには双方の述語を同時に読み出して述語名お
よびそれに続く引数の一致を順次調べる必要がある。
理が基本に々っている。例えば、前記の「・・←果物(
骨動。」と「果物(いちご)。」とを比較して両述語間
の一致を調べる処理が基本である・この処理を高速に実
現するためには双方の述語を同時に読み出して述語名お
よびそれに続く引数の一致を順次調べる必要がある。
しかしながら、従来の計算機では記憶装置からの読出し
は一時には一語あるいは一つのまとまった領域からのみ
可能であシ、別個の領域から同時に読み出すことはでき
なかった。この状況は従来の計算機で高速バッファ機能
を実現しているキャッシュメモリでも同様で、処理装置
側からのキャッジ−メモリへの参照は一語あるいは一つ
の領域からのみ可能である◎このハードウェア構成が従
来の計算機でプロログプログラムを高速に処理する際の
制約となっている。
は一時には一語あるいは一つのまとまった領域からのみ
可能であシ、別個の領域から同時に読み出すことはでき
なかった。この状況は従来の計算機で高速バッファ機能
を実現しているキャッシュメモリでも同様で、処理装置
側からのキャッジ−メモリへの参照は一語あるいは一つ
の領域からのみ可能である◎このハードウェア構成が従
来の計算機でプロログプログラムを高速に処理する際の
制約となっている。
本発明はプロログに代表される述語論理型言語のだめの
処理装置として、同時に読出し可能な複数のバッファメ
モリを備えることによシ、前記述語と述語を高速に比較
できるようにした装置を提供するものである。
処理装置として、同時に読出し可能な複数のバッファメ
モリを備えることによシ、前記述語と述語を高速に比較
できるようにした装置を提供するものである。
本発明によると、述語名とその引数よ構成る述語の連ら
なりから成る節の集合として書き下す述語論理型言語を
処理する装置において、前記装置内での前記節の内部表
現を格納する記憶装置と、前記記憶装置から読み出され
た節の内部表現を一時的に格納する複数のバッファメモ
リと、前記複数のバッファメモリの各出力のうち1つを
選択して出力とする第1の選択回路と、前記複数のバッ
ファメモリの各出力のうち1つを選択して出力とするに
2の選択回路と、前記述語間の関係を次々にたどる道筋
を保持するためのスタック機構および内部レジスタおよ
びバッファメモリの管理機能および前記2つの選択回路
での選択指定機能およ数のバッファメモリの各出力のう
ち1つを前記第1の選択回路で選択し前記複数のバック
7メモリ制御装置に送シ前記2つの選択回路で選択され
たバッファメモリからの読出しを同時に行うことによシ
互いの述語間の一致を検出で・きるようにしたことを特
徴とする述語論理型言語処理装置が得られる。
なりから成る節の集合として書き下す述語論理型言語を
処理する装置において、前記装置内での前記節の内部表
現を格納する記憶装置と、前記記憶装置から読み出され
た節の内部表現を一時的に格納する複数のバッファメモ
リと、前記複数のバッファメモリの各出力のうち1つを
選択して出力とする第1の選択回路と、前記複数のバッ
ファメモリの各出力のうち1つを選択して出力とするに
2の選択回路と、前記述語間の関係を次々にたどる道筋
を保持するためのスタック機構および内部レジスタおよ
びバッファメモリの管理機能および前記2つの選択回路
での選択指定機能およ数のバッファメモリの各出力のう
ち1つを前記第1の選択回路で選択し前記複数のバック
7メモリ制御装置に送シ前記2つの選択回路で選択され
たバッファメモリからの読出しを同時に行うことによシ
互いの述語間の一致を検出で・きるようにしたことを特
徴とする述語論理型言語処理装置が得られる。
以下本発明の一実施例を図面を用いて詳細に説明する。
本実施例では、プロログの述語を次の形式で表現する。
述語名(引数1.引数2.・・・)
引数は定数または変数であシ、変数引数の先頭には斧印
を付けて区別する。プロログの一文を節と呼び、−膜形
式は以下のとおシである。
を付けて区別する。プロログの一文を節と呼び、−膜形
式は以下のとおシである。
述語1←述語2.述語3.・・・、述語n←印は論理記
号であシ、その左側に存在し得る述語は高々−箇である
。これをヘッド部と呼び、←印の右側をボディ部と呼ぶ
が、ボディ側の述語を区切る1、′印は述語間の論理積
を表わす。上記の一般形式は述語2.述語3.・・・、
述語nの論理積が成立するとき、述語lが成立すること
を表現しておシ、この形式を規則節と呼ぶ。
号であシ、その左側に存在し得る述語は高々−箇である
。これをヘッド部と呼び、←印の右側をボディ部と呼ぶ
が、ボディ側の述語を区切る1、′印は述語間の論理積
を表わす。上記の一般形式は述語2.述語3.・・・、
述語nの論理積が成立するとき、述語lが成立すること
を表現しておシ、この形式を規則節と呼ぶ。
−膜形式の特殊形として、ヘッド部のみから成る節を宣
言節、ボディ部のみから成る節を間合わせ節と呼ぶ。
言節、ボディ部のみから成る節を間合わせ節と呼ぶ。
プロログのプログラム実行は以下のステップで行われる
。
。
(1)節のボディ部に現われる述語と同一の述語をヘッ
ド部に持つ節を見出す。ここで双方の述語の引数同士を
その並び順に比較し、一致を調べる操作を行う。ここで
すべての引数が一致するとステップ(2)に移る。すべ
ての引数が一致していなければステップ(1)の処理を
繰シ返す。
ド部に持つ節を見出す。ここで双方の述語の引数同士を
その並び順に比較し、一致を調べる操作を行う。ここで
すべての引数が一致するとステップ(2)に移る。すべ
ての引数が一致していなければステップ(1)の処理を
繰シ返す。
引数同士の比較において、−万が変数、他方が定数であ
れば変数に定数の値がバインドされる。また双方共に変
数であれば同一値を採るべく、−万が他方へのポインタ
に書き換えられる。
れば変数に定数の値がバインドされる。また双方共に変
数であれば同一値を採るべく、−万が他方へのポインタ
に書き換えられる。
この二連シの処理も一致条件を満たすものである。
(2)ステップ(1)で比較の結果述語同士の一致が確
認された節のボディ部の処理へと制御が移シ、ステップ
(1)へ戻る・もしその節が宣言節であれば、ステップ
(1)の最初に参照された節のボディ部の引き続く述語
の処理へ移る。もし引続く述語が無ければ全処理を終了
する。
認された節のボディ部の処理へと制御が移シ、ステップ
(1)へ戻る・もしその節が宣言節であれば、ステップ
(1)の最初に参照された節のボディ部の引き続く述語
の処理へ移る。もし引続く述語が無ければ全処理を終了
する。
第1図はプロログのプログラム例を示す。図中”Pi”
、@P2”は述語名、ta)、、n 、uBn 。
、@P2”は述語名、ta)、、n 、uBn 。
6C”・“D″p1E”は定数引数・*X” 。
”Y”+”*z”は変数引数である。節1社規則説であ
〕、節2.節3は宣言節2節4は間合わせ節である。
〕、節2.節3は宣言節2節4は間合わせ節である。
以下、このプログラムの処理の流れを説明する。
プログラムの実行は間合わせ節から始まる。第1図の例
では節4の最初の述語1p1(*x、*y)”の処理か
ら始まシ、ステップ(1)によって節1が見出され、す
べての引数が一致することからステップ(2)へ進む。
では節4の最初の述語1p1(*x、*y)”の処理か
ら始まシ、ステップ(1)によって節1が見出され、す
べての引数が一致することからステップ(2)へ進む。
ここで変数観*X”には節1の定数値@A”がバインド
され、変数6*y”には変数u−4c z”がバインド
されて6*y”と鴫*z”の値が等しいことが示される
。
され、変数6*y”には変数u−4c z”がバインド
されて6*y”と鴫*z”の値が等しいことが示される
。
ステップ(2)では節1のボディ部″’P2 (B、C
,*z)”の処理へ進み、ステップ(1)へ戻って述語
名″’P2”をヘッド部として持つ節2との一致を調べ
不一致であることから、次に述語名″P2”をヘッド部
として持つ節3との一致を調べる。節1のボディ部と節
3のヘッド部とは一致して、ステップ(2)の処理へと
進む@ここで変数−*2”には節3の定数値6A” が
バインドされる。前記処理の結果、変数6*y”と変数
1*z”の値が等しい関係にあることから変数”*y”
の値も定数値”A”になる。
,*z)”の処理へ進み、ステップ(1)へ戻って述語
名″’P2”をヘッド部として持つ節2との一致を調べ
不一致であることから、次に述語名″P2”をヘッド部
として持つ節3との一致を調べる。節1のボディ部と節
3のヘッド部とは一致して、ステップ(2)の処理へと
進む@ここで変数−*2”には節3の定数値6A” が
バインドされる。前記処理の結果、変数6*y”と変数
1*z”の値が等しい関係にあることから変数”*y”
の値も定数値”A”になる。
前記ステップ(2)において節3が宣言節であることか
ら、節1の処理へ制御が戻る。節1のボディ部には述語
″″P2(B、C,*z)”K続く述語はないので、節
1の処理は終了し・節1の処理に制御を渡した節4の処
理へ制御が戻る。これまでの処理結果として、節4の変
数”*x”IICは定数値りVがバインドされ、変数I
I * Y 19にも同じく定数値″′A”がバインド
される。
ら、節1の処理へ制御が戻る。節1のボディ部には述語
″″P2(B、C,*z)”K続く述語はないので、節
1の処理は終了し・節1の処理に制御を渡した節4の処
理へ制御が戻る。これまでの処理結果として、節4の変
数”*x”IICは定数値りVがバインドされ、変数I
I * Y 19にも同じく定数値″′A”がバインド
される。
次に、節402番目の述語”Pi(*x、*x)”が処
理対象となシ、ステップ(1)によって節1が見出され
、引数を比較した結果述語の一致が認められる。この引
数の一致検査において、変数“*x〃の値は前記の処理
によシ得られた定数値uA ”である。また、節1の変
数“*2”値も変数1*x”と同一の値になることから
定数値″A’となる。変数”*z’は節4の1番目の述
語″’PI(*x+*)’)”ノ処理では定数値6A”
にバインドされたが、節402番目の述語″P1(*x
、*x)”の処理で社、節lは新たな処理対象である。
理対象となシ、ステップ(1)によって節1が見出され
、引数を比較した結果述語の一致が認められる。この引
数の一致検査において、変数“*x〃の値は前記の処理
によシ得られた定数値uA ”である。また、節1の変
数“*2”値も変数1*x”と同一の値になることから
定数値″A’となる。変数”*z’は節4の1番目の述
語″’PI(*x+*)’)”ノ処理では定数値6A”
にバインドされたが、節402番目の述語″P1(*x
、*x)”の処理で社、節lは新たな処理対象である。
このときには変数”*z’h%定の値がバインドされて
いない変数であり、前記ステップ(1)の処理で初めて
変数6*×”の値6A”にバインドされる。
いない変数であり、前記ステップ(1)の処理で初めて
変数6*×”の値6A”にバインドされる。
以下、ステップ(2)で節1のボディ部を処理し、ステ
ップ(1)の処理を進める0節1のボディ部と節2は不
一致となるが、節3とは一致する。次にステップ(2)
によシ、節4の2番目の述語の処理として一致したこと
を節4に返し、すべての処理を終了する。
ップ(1)の処理を進める0節1のボディ部と節2は不
一致となるが、節3とは一致する。次にステップ(2)
によシ、節4の2番目の述語の処理として一致したこと
を節4に返し、すべての処理を終了する。
本実施例の装置においては、プロログの節の内部表現と
して、第2図の例に示す形式を用いる。
して、第2図の例に示す形式を用いる。
第2図は第1図に示したプロログプログラムの節1に対
応する内部表現を示す例である。本実施例の装置では節
毎に第2図に示すようなひとまとまシの領域で記述され
る内部表現を持つ。この節毎の内部表現を「コード」と
呼ぶ。第2図の各行を語と呼び1語はタグフィールドと
値フィールドから構成される。タグフィールドにはその
語の属性情報が保持され、値フィールドにはタグで示さ
れる属性に対応する値が保持されている。
応する内部表現を示す例である。本実施例の装置では節
毎に第2図に示すようなひとまとまシの領域で記述され
る内部表現を持つ。この節毎の内部表現を「コード」と
呼ぶ。第2図の各行を語と呼び1語はタグフィールドと
値フィールドから構成される。タグフィールドにはその
語の属性情報が保持され、値フィールドにはタグで示さ
れる属性に対応する値が保持されている。
コードの先頭の語「ヘッダ」はコード全体に係る情報を
保持する。すなわち規則節、宣言節2間合わせ節のいず
れに対応するコードであるかを示す情報9節の中にある
ユニークな変数の数に係る情報などを保持する。
保持する。すなわち規則節、宣言節2間合わせ節のいず
れに対応するコードであるかを示す情報9節の中にある
ユニークな変数の数に係る情報などを保持する。
コードの第2語である「ポインタ」はそのコードと同一
の述語名をヘッド部として持つ節へのリンク情報を保持
する。
の述語名をヘッド部として持つ節へのリンク情報を保持
する。
第3語は、節1の述語名″′P1”に対応して、述語名
を値として持つことを示すタグフィールドと、その述語
名は具体的に”PI”であることを示す値フィールドを
持つ。第4語では述語″′P1(A9才t)″の第1引
数”A”の属性がアトムであることをタグフィールドで
示し、その値が@ A #であることを値フィールドで
示す。第5語では述語wp1(At*z)”の第2引数
である変数1*z”の属性が変数であることをタグフィ
ールドで示し、そ゛の変数が節1の中に現われる最初の
変数であることを示す番号(0)を値フィールドの値と
して持つ。
を値として持つことを示すタグフィールドと、その述語
名は具体的に”PI”であることを示す値フィールドを
持つ。第4語では述語″′P1(A9才t)″の第1引
数”A”の属性がアトムであることをタグフィールドで
示し、その値が@ A #であることを値フィールドで
示す。第5語では述語wp1(At*z)”の第2引数
である変数1*z”の属性が変数であることをタグフィ
ールドで示し、そ゛の変数が節1の中に現われる最初の
変数であることを示す番号(0)を値フィールドの値と
して持つ。
以下、節1のボディ部の述語名”P2”、引数”B”、
uC”、’11*z”にそれぞれ第2図の第6語〜第9
語が対応する。ここで、第9語の変数6*z”と第5語
の変数”*2”とが同一の変数であることはこれらの語
の値フィールドが同一変数番号(0)であることで示さ
れる。
uC”、’11*z”にそれぞれ第2図の第6語〜第9
語が対応する。ここで、第9語の変数6*z”と第5語
の変数”*2”とが同一の変数であることはこれらの語
の値フィールドが同一変数番号(0)であることで示さ
れる。
第3図は以上説明した内部表現によって第1図のプログ
ラム例を表現した図である。図中値フィールド中のna
llはメモリリンクの終端であることを示す0節1,2
,3.4に対応して4つのコードが表現されている。
ラム例を表現した図である。図中値フィールド中のna
llはメモリリンクの終端であることを示す0節1,2
,3.4に対応して4つのコードが表現されている。
ボディ部の述語の述語名と同一の述語名をヘッドとして
持つ述語との一致を調べるときに比較対象となる節を指
定するために、ボディ部の述語名にはヘッド部に同一述
語名を持つ節に対応する内部表現のアドレスが格納され
ている。これらの関係は図中の破線で示す。
持つ述語との一致を調べるときに比較対象となる節を指
定するために、ボディ部の述語名にはヘッド部に同一述
語名を持つ節に対応する内部表現のアドレスが格納され
ている。これらの関係は図中の破線で示す。
同一の述語名をヘッド部拠持つ節はコードの第2語であ
るポインタによってリンクされる。例えば、節2と節3
とは同一の述語名をヘッド部に有する節であるので、節
2から節3にリンクされる。
るポインタによってリンクされる。例えば、節2と節3
とは同一の述語名をヘッド部に有する節であるので、節
2から節3にリンクされる。
第4図は本発明の装置の一実施例を示すブロック図であ
る。図中100は第3図の説明で述べた内部表現をその
11の形で格納する記憶装置、101は記憶装置100
に格納されているコードを読出すだめのアドレスレジス
タ、102.104.106.108は記憶装置100
から読出されたコードを一時的に格納するバッフ丁メモ
リA1バッフ丁メモリBバッファメモリC,バッファメ
モリD、103゜105.107,109 は夫々バッ
フ了メモリ102゜104.106,108 の語を示
すだめのバッフ丁ポインタA、バッファポインタB、バ
ッフ丁ポインタC,バッフ丁ポインタD、110は前記
の4箇のバックアメモリ102,104,106,10
8の出力の中の1つの出力を選択する第1の選択回路A
、111は前記の4箇のバッフ了メモ1J102゜10
4.106,108の出力の中の1つの出力を選択する
第2の選択回路B、112tj:選択回路A110 と
選択回路B111によって選択された語の一致を比較し
て一致を検出するための比較器である@比較器112は
入力される2語のビットパターンが一致しているととを
検出するだけでなく、変数を示す語と定数を示す語との
比較において一致を検出する。113はスタック機構お
よび内部レジスタおよび各バッファメモリ102,10
4゜106.108および記憶装置100の管理を含み
比較器112からの一致検出信号に基づいて他の構成要
素の動きを制御する制御部である。制御部113は従来
型のプロセッサと同様の構成で実現できるので、その内
部機構については特に述べない。
る。図中100は第3図の説明で述べた内部表現をその
11の形で格納する記憶装置、101は記憶装置100
に格納されているコードを読出すだめのアドレスレジス
タ、102.104.106.108は記憶装置100
から読出されたコードを一時的に格納するバッフ丁メモ
リA1バッフ丁メモリBバッファメモリC,バッファメ
モリD、103゜105.107,109 は夫々バッ
フ了メモリ102゜104.106,108 の語を示
すだめのバッフ丁ポインタA、バッファポインタB、バ
ッフ丁ポインタC,バッフ丁ポインタD、110は前記
の4箇のバックアメモリ102,104,106,10
8の出力の中の1つの出力を選択する第1の選択回路A
、111は前記の4箇のバッフ了メモ1J102゜10
4.106,108の出力の中の1つの出力を選択する
第2の選択回路B、112tj:選択回路A110 と
選択回路B111によって選択された語の一致を比較し
て一致を検出するための比較器である@比較器112は
入力される2語のビットパターンが一致しているととを
検出するだけでなく、変数を示す語と定数を示す語との
比較において一致を検出する。113はスタック機構お
よび内部レジスタおよび各バッファメモリ102,10
4゜106.108および記憶装置100の管理を含み
比較器112からの一致検出信号に基づいて他の構成要
素の動きを制御する制御部である。制御部113は従来
型のプロセッサと同様の構成で実現できるので、その内
部機構については特に述べない。
第4図で、アドレスレジスタ101で指定するアドレス
がアドレス線201を介して記憶装置100に送られる
と、出力がバス202を介して各バッファメモリ102
,104,106,108に送られる。バス202のデ
ータは前記4箇のバッファメモリ102,104,10
6,108のいずれかに格納される。この格納先の選定
は制御部113によって行われる。バッファメモリAl
O2,B104゜C106,D108からの出力はそれ
ぞれデータ線203.204,205,206を介して
選択回路A110および選択回路B111に送られる。
がアドレス線201を介して記憶装置100に送られる
と、出力がバス202を介して各バッファメモリ102
,104,106,108に送られる。バス202のデ
ータは前記4箇のバッファメモリ102,104,10
6,108のいずれかに格納される。この格納先の選定
は制御部113によって行われる。バッファメモリAl
O2,B104゜C106,D108からの出力はそれ
ぞれデータ線203.204,205,206を介して
選択回路A110および選択回路B111に送られる。
選択回路A110および選択回路B111では前記のデ
ータ線203゜204.205,206の信号中の1つ
を出力として選択し、それぞれデータ線207,208
に出力する。データ線207,208の信号は共に比較
器112および制御部113への入力となる。比較器1
12で比較された結果である一致信号は信号線209を
介して制御部113に送られる。
ータ線203゜204.205,206の信号中の1つ
を出力として選択し、それぞれデータ線207,208
に出力する。データ線207,208の信号は共に比較
器112および制御部113への入力となる。比較器1
12で比較された結果である一致信号は信号線209を
介して制御部113に送られる。
制御部113では信号線209の一致信号及びデータ線
207,208の信号を入力して、制御部113の中に
備えるスタック機構およびレジスタを操作する。更に制
御部113は、信号線212を介して記憶装置100へ
の参照を制御するためにアドレスレジス゛りlOlの内
容を更新する信号、記憶装置100から読み出されたデ
ータを格納する先として4箇のバッファメモリAlO2
,B104゜C106,D108の1つを選択する信号
、これらのバッファメモリ参照を制御するためにノくツ
ファポインタAlO3,バクフ了ポインタB105 、
ノく106.108の中に記憶装置100から転送が必
要なデータが既に格納されているか否かをチェックして
データ転送の要/不要を判定し、ル寺二選択回路A11
0および選択回路B111で選択すうO 以下、第3図、第4図、第5図および第6図を用いて第
1図に示しだ例題プログラムの本実施例における実行動
作を説明する。
207,208の信号を入力して、制御部113の中に
備えるスタック機構およびレジスタを操作する。更に制
御部113は、信号線212を介して記憶装置100へ
の参照を制御するためにアドレスレジス゛りlOlの内
容を更新する信号、記憶装置100から読み出されたデ
ータを格納する先として4箇のバッファメモリAlO2
,B104゜C106,D108の1つを選択する信号
、これらのバッファメモリ参照を制御するためにノくツ
ファポインタAlO3,バクフ了ポインタB105 、
ノく106.108の中に記憶装置100から転送が必
要なデータが既に格納されているか否かをチェックして
データ転送の要/不要を判定し、ル寺二選択回路A11
0および選択回路B111で選択すうO 以下、第3図、第4図、第5図および第6図を用いて第
1図に示しだ例題プログラムの本実施例における実行動
作を説明する。
記憶装置100には第3図に示す形式で第1図に示すプ
ロログプログラムが格納されている0記憶装置100の
データはプログラムの実行に伴って各バッファメモリ1
02,104,106,108に格納される。第5図(
a)(b)(c)(d)には、第1図のプロログプログ
ラムの処理が終了した時の各バッファメモリ102,1
04,106,108の記憶状態のステップ番号、選択
回路A110 が選択するバッファメモリおよび選択さ
れたバッファメモリの中で参照されている語のアドレス
、選択回路B111が選択するバッファメモリおよび選
択されたバッファメモリの中で参照されている語のアド
レス、選択回路All0の出力1選択回路B111の出
力、制御部113の内部レジスタ情報およびスタック情
報、その実行ステップでの動作の順に示しである。
ロログプログラムが格納されている0記憶装置100の
データはプログラムの実行に伴って各バッファメモリ1
02,104,106,108に格納される。第5図(
a)(b)(c)(d)には、第1図のプロログプログ
ラムの処理が終了した時の各バッファメモリ102,1
04,106,108の記憶状態のステップ番号、選択
回路A110 が選択するバッファメモリおよび選択さ
れたバッファメモリの中で参照されている語のアドレス
、選択回路B111が選択するバッファメモリおよび選
択されたバッファメモリの中で参照されている語のアド
レス、選択回路All0の出力1選択回路B111の出
力、制御部113の内部レジスタ情報およびスタック情
報、その実行ステップでの動作の順に示しである。
第1図において、節4はプロログにおける問合わせの命
令を表わしている。すなわち、節4の如くボディ部のみ
から成る間合わせ節によって実行が始まる。
令を表わしている。すなわち、節4の如くボディ部のみ
から成る間合わせ節によって実行が始まる。
節4の内部表現は第3図に示す形式で記憶装置100の
アドレスCL4番地から順次格納されている。制御部1
13はアドレスレジスタ101にCL4番地を格納し、
その内容を読出すことによって実行を開始する。初期状
態では、各バッファメモリ102,104,106,1
08は空であシ、節4のコードは格納されていない。こ
のため、バッファメモリAlO2に節4に対応するコー
ドを格納する・この結果、第5図に示すようにバッフ了
メモ1JA102の20番地から27番地までに節4に
対応する内部表現8語が格納される。
アドレスCL4番地から順次格納されている。制御部1
13はアドレスレジスタ101にCL4番地を格納し、
その内容を読出すことによって実行を開始する。初期状
態では、各バッファメモリ102,104,106,1
08は空であシ、節4のコードは格納されていない。こ
のため、バッファメモリAlO2に節4に対応するコー
ドを格納する・この結果、第5図に示すようにバッフ了
メモ1JA102の20番地から27番地までに節4に
対応する内部表現8語が格納される。
制御部113はバッフ丁ポインタAlO3に節4のコー
ドの先頭番地20を格納して節4の「ヘッダ」、「ポイ
ンタ」を順次読出し、次に1番目の述語に対応する語を
読出す。この語は同じ述語名をヘッダ部に持つ節1への
アドレスを値として持ち、記憶装置100から節1に対
応するコードを読出す。節1のコードは制御部113の
指示によって、バッフ丁メモ1JB104に格納される
O以下第6図に示すステップ1の処理を開始する。
ドの先頭番地20を格納して節4の「ヘッダ」、「ポイ
ンタ」を順次読出し、次に1番目の述語に対応する語を
読出す。この語は同じ述語名をヘッダ部に持つ節1への
アドレスを値として持ち、記憶装置100から節1に対
応するコードを読出す。節1のコードは制御部113の
指示によって、バッフ丁メモ1JB104に格納される
O以下第6図に示すステップ1の処理を開始する。
ステップ1では、バッフ丁ポインタAlO3には節40
1番目の述語り1(*x+*y)”に対応するコードの
格納先を指示するアドレス22が格納され、バッフ丁ポ
インタB105には節10「ヘッダ1語の格納先番地を
示す120が格納されている。
1番目の述語り1(*x+*y)”に対応するコードの
格納先を指示するアドレス22が格納され、バッフ丁ポ
インタB105には節10「ヘッダ1語の格納先番地を
示す120が格納されている。
それぞれのアドレスに対応してノ(ラフ丁メモリAlO
2からは節4の述語名″=P1”をデータ線203に出
力し・)くラフアメモリB104からは節1の「ヘッダ
」をデータ@204に出力する。選択回路A110は制
御部113の選択指示信号210でバッファメモリAl
O2の出力を選択するように指示される。この結果、デ
ータ線207には節4の述語名り1”が出力される。選
択回路B111は制御部113の選択指示信号211で
ノ(ラフアメモリB104の出力を選択するように指示
される。この結果、データ線208には節1の「ヘッダ
」力!出力される。このヘッダに含まれる情報はコード
の属性に係るものであシ、それ自体が実行制御に影響を
及ばずものではなく、)くラフ丁ポインタB105を歩
進して、内の実行ステップ状態となる。
2からは節4の述語名″=P1”をデータ線203に出
力し・)くラフアメモリB104からは節1の「ヘッダ
」をデータ@204に出力する。選択回路A110は制
御部113の選択指示信号210でバッファメモリAl
O2の出力を選択するように指示される。この結果、デ
ータ線207には節4の述語名り1”が出力される。選
択回路B111は制御部113の選択指示信号211で
ノ(ラフアメモリB104の出力を選択するように指示
される。この結果、データ線208には節1の「ヘッダ
」力!出力される。このヘッダに含まれる情報はコード
の属性に係るものであシ、それ自体が実行制御に影響を
及ばずものではなく、)くラフ丁ポインタB105を歩
進して、内の実行ステップ状態となる。
第6図のステップ2で社バッフ了ポインタB105は節
1の「ヘッダ」に続く「ポインタ」を指示し、そは結果
バッファメモリB104はデータ11J204に「ポイ
ンタ」の値を出力する。この「ポインタ」はヘッド部に
同一の述語名を持つ節へのリンク情報であるが、リンク
の最終であるときにはその値杜″1null”となって
いる。節4のような間合わせ節では常に「ポインタ」は
”null”である。バッファポインタ旧05は引き続
き歩進する。
1の「ヘッダ」に続く「ポインタ」を指示し、そは結果
バッファメモリB104はデータ11J204に「ポイ
ンタ」の値を出力する。この「ポインタ」はヘッド部に
同一の述語名を持つ節へのリンク情報であるが、リンク
の最終であるときにはその値杜″1null”となって
いる。節4のような間合わせ節では常に「ポインタ」は
”null”である。バッファポインタ旧05は引き続
き歩進する。
ステップ3ではバッフ了ポインタB105はノ(ラフア
メモリB104の122番地を指示し、)ぐラフアメモ
リB104の出力として節1の述語名”Pi”をデータ
線204に出力する。ここで、バッフ了メモ!JA10
2の出力は節4の最初の述語名であシ、バッファメモリ
B104の出力と同様に”Pi”である。選択回路Al
l0ではデータ線203のデータを選択するので、節4
の述語名″′P1′がデータ線207に出力される◎選
択回路B111ではデータ線204のデータを選択する
ので、節1の述語名−p 1mがデータ線208に出力
される。前記2つの選択回路110,111の出力が比
較器112への入力となって、入力されたデータが双方
共に述語名@PI”であることから、一致信号を信号線
209を介して制御部113に送る■制御部113でL
この比較結果によシ1節4と節1の現在比較対象になっ
ている語に続く語を次ステツプにおける比較対象にする
ため、バッフ丁ポインタAlO3,バッファポインタB
105をそれぞれ歩進する。
メモリB104の122番地を指示し、)ぐラフアメモ
リB104の出力として節1の述語名”Pi”をデータ
線204に出力する。ここで、バッフ了メモ!JA10
2の出力は節4の最初の述語名であシ、バッファメモリ
B104の出力と同様に”Pi”である。選択回路Al
l0ではデータ線203のデータを選択するので、節4
の述語名″′P1′がデータ線207に出力される◎選
択回路B111ではデータ線204のデータを選択する
ので、節1の述語名−p 1mがデータ線208に出力
される。前記2つの選択回路110,111の出力が比
較器112への入力となって、入力されたデータが双方
共に述語名@PI”であることから、一致信号を信号線
209を介して制御部113に送る■制御部113でL
この比較結果によシ1節4と節1の現在比較対象になっ
ている語に続く語を次ステツプにおける比較対象にする
ため、バッフ丁ポインタAlO3,バッファポインタB
105をそれぞれ歩進する。
ステップ4では、バッフ丁メモ!jA102の出力は節
4の第1の述語名″P1”に続く第1の引数である“*
X”となシ、この“*X”が選択回路A110の出力と
なる。バッファメモリB104の出力は節1の述語名パ
P1”に続く第1の引数の値り”となシ、この−A”が
選択回路B111の出力となる。
4の第1の述語名″P1”に続く第1の引数である“*
X”となシ、この“*X”が選択回路A110の出力と
なる。バッファメモリB104の出力は節1の述語名パ
P1”に続く第1の引数の値り”となシ、この−A”が
選択回路B111の出力となる。
各々の出力はデータ線207 、208を介して比較器
112に送られる。変数頓*x”と′A”とは一致条件
を満たしており、比較器112は信号線209を介して
一致信号を制御部113に送る。制御部113ではスタ
ックの先頭0番目に変数“*X”の語を確保して、その
値を′A”にする。この処理によシ、変数6*x”に”
A”がノくインドされる。
112に送られる。変数頓*x”と′A”とは一致条件
を満たしており、比較器112は信号線209を介して
一致信号を制御部113に送る。制御部113ではスタ
ックの先頭0番目に変数“*X”の語を確保して、その
値を′A”にする。この処理によシ、変数6*x”に”
A”がノくインドされる。
バッフ了ポインタAlO3およびノぐラフ丁ポインタB
105はそれぞれ歩進する。
105はそれぞれ歩進する。
ステップ5では節4の変数“*x#に続く第2の引数で
ある変数* * y nがノくラフアメモリAlO2の
出力となシ選択回路A110の出力とカる。また節4の
気A〃に続く第2の引数である変数1*L“がバッファ
メモリB104の出力となシ、選択回路B111の出力
となる。比較器112では、変数1*y“と変数1*t
”は一致条件を満足しておシ、制御部113に信号線2
09を介して一致信号を出力する。制御部113では、
スタックの1番目の語を変数”*y”の語とし、2番目
の語を変数6*z”の語として格納する。変数競*y”
と変数″′*z”が等しい値を持つべきことを示すため
に変数″I*z”の語には変数“*y”へのポインタ値
を格納して、変数6*z”を参照するときには、変数“
*y″の値を参照することにする。そしてバッファポイ
ンタAlO3、バッファポインタB105を歩進させる
。
ある変数* * y nがノくラフアメモリAlO2の
出力となシ選択回路A110の出力とカる。また節4の
気A〃に続く第2の引数である変数1*L“がバッファ
メモリB104の出力となシ、選択回路B111の出力
となる。比較器112では、変数1*y“と変数1*t
”は一致条件を満足しておシ、制御部113に信号線2
09を介して一致信号を出力する。制御部113では、
スタックの1番目の語を変数”*y”の語とし、2番目
の語を変数6*z”の語として格納する。変数競*y”
と変数″′*z”が等しい値を持つべきことを示すため
に変数″I*z”の語には変数“*y”へのポインタ値
を格納して、変数6*z”を参照するときには、変数“
*y″の値を参照することにする。そしてバッファポイ
ンタAlO3、バッファポインタB105を歩進させる
。
前記の述語名及び述語内のすべての引数の一致を検出し
た処理によシ、節4の第1述語と節1のヘッダ部の述語
とは一致することが判明する。これによって制御は節1
のボディ部と、そのボディ部の述語名と同一の述語名を
ヘッド部に持つ節との一致検出に進む。
た処理によシ、節4の第1述語と節1のヘッダ部の述語
とは一致することが判明する。これによって制御は節1
のボディ部と、そのボディ部の述語名と同一の述語名を
ヘッド部に持つ節との一致検出に進む。
ステップ6では節lのボディ部の述語名はバッファメモ
!jB104の出力”P2”であシ、制御部113はl
″P2”をヘッド部に持つ節2へのアドレスを得る。
!jB104の出力”P2”であシ、制御部113はl
″P2”をヘッド部に持つ節2へのアドレスを得る。
制御を述語名″′P2”の一致検出に移す前に、節4の
2番目の述語名1P1”を指示するアドレスを制御部1
13のNEXTレジスタに格納する。これは以降での述
語″′Pz(B、C,*z)”の比較処理で述語の一致
を検出したとき制御を節4の第2述語”PI(*x、*
x)”の一致検出処理に進めるためのものである。また
、同時に、節1のボディ部の述語名″=P2”を示すア
ドレスを制御部113のMTf’tYレジスタに格納す
る。これは、節1のボディ部の述語″’P2(B、C,
*z)”と一致検査対象の述語・P2(B、D、E)”
をヘッド部に持つ節との一致検査結果が不一致のときに
、述語°′Pz(H,C,A)”をヘッド部に持つ節3
との比較を改めて述語″’P2(B、C,*乙)#から
開始するためのものである。
2番目の述語名1P1”を指示するアドレスを制御部1
13のNEXTレジスタに格納する。これは以降での述
語″′Pz(B、C,*z)”の比較処理で述語の一致
を検出したとき制御を節4の第2述語”PI(*x、*
x)”の一致検出処理に進めるためのものである。また
、同時に、節1のボディ部の述語名″=P2”を示すア
ドレスを制御部113のMTf’tYレジスタに格納す
る。これは、節1のボディ部の述語″’P2(B、C,
*z)”と一致検査対象の述語・P2(B、D、E)”
をヘッド部に持つ節との一致検査結果が不一致のときに
、述語°′Pz(H,C,A)”をヘッド部に持つ節3
との比較を改めて述語″’P2(B、C,*乙)#から
開始するためのものである。
この不一致の処理はステップ7以後に示す。
ここで、NEXTレジスタ、RETRYレジスタに格納
されるアドレスはそれぞれ記憶装置100に格納されて
いる前記述語名°“Pl”、前記述語名″P2”に対応
するアドレス25,125 である。各バッファメモリ
102,104.106,108のアドレスと記憶装置
100のアドレスとの対応づけは制御部113のバッフ
ァメモリ管理機能を利用して実現する。
されるアドレスはそれぞれ記憶装置100に格納されて
いる前記述語名°“Pl”、前記述語名″P2”に対応
するアドレス25,125 である。各バッファメモリ
102,104.106,108のアドレスと記憶装置
100のアドレスとの対応づけは制御部113のバッフ
ァメモリ管理機能を利用して実現する。
ステップ7では節2のコードの先頭にあるヘッダーを参
照する。節2はバッファメモリに格納されていないので
記憶装置100がらバッファメモリC106に読込む。
照する。節2はバッファメモリに格納されていないので
記憶装置100がらバッファメモリC106に読込む。
バッファメモリC106に格納した後バッファポインタ
0107の値は節2のヘッダーを指示する150番地と
なる。
0107の値は節2のヘッダーを指示する150番地と
なる。
ステップ8では節2のポインタを参照する。このポイン
タの値は制御部113の内部レジスタであるLINKレ
ジスタに保存する。これは、以下の述語名”P2”に係
る一致検査が不一致にkつだ時にヘッド部に述語り2(
B、C,A)’を持つ節3との一致検査を開始するため
に、この節3へのアドレス情報を制御部113の中に退
避するためのものであシ、このステップ8にLINKレ
ジスタを含んだ操作を示す。
タの値は制御部113の内部レジスタであるLINKレ
ジスタに保存する。これは、以下の述語名”P2”に係
る一致検査が不一致にkつだ時にヘッド部に述語り2(
B、C,A)’を持つ節3との一致検査を開始するため
に、この節3へのアドレス情報を制御部113の中に退
避するためのものであシ、このステップ8にLINKレ
ジスタを含んだ操作を示す。
ステップ9では述語名6P2”の一致を検出する@続い
て、パラフチポインタC10フ、バツフアポインタB1
05を歩進する。
て、パラフチポインタC10フ、バツフアポインタB1
05を歩進する。
ステップ10では述語名”P2”の第1引数が両方共に
″B”であることがら一致が検出される。
″B”であることがら一致が検出される。
続くステップ11では節2の引数が”D”、節1の引数
が′C”であることから不一致となる。この結果は信号
a209を介して比較器112がら制御部113に送ら
れる。
が′C”であることから不一致となる。この結果は信号
a209を介して比較器112がら制御部113に送ら
れる。
制御部113ではヘッド部の述語名がaP2”である他
の節すなわち節3との比較を開始するため、ステップ1
2では節1の述rtup2+Btc+*z)”に関する
一致を改めて調べるために、以前に対比しておいたRE
TRYレジスタの節1の述語名” P 2”へのアドレ
スに対応するバッファメモリB104内のアドレスの値
125をバッファポインタB105に格納する0また、
以前に退避しておいたLINKレジスタの内容は節3へ
のアドレスであシ、節3は節1の述語@p2(B、C,
*z)”との比較対象となる0節3はどのバッファメモ
リにも格納されていないので節3のコードが記憶装置1
00がらバス202を介してバッファメモ!JD108
に格納される。
の節すなわち節3との比較を開始するため、ステップ1
2では節1の述rtup2+Btc+*z)”に関する
一致を改めて調べるために、以前に対比しておいたRE
TRYレジスタの節1の述語名” P 2”へのアドレ
スに対応するバッファメモリB104内のアドレスの値
125をバッファポインタB105に格納する0また、
以前に退避しておいたLINKレジスタの内容は節3へ
のアドレスであシ、節3は節1の述語@p2(B、C,
*z)”との比較対象となる0節3はどのバッファメモ
リにも格納されていないので節3のコードが記憶装置1
00がらバス202を介してバッファメモ!JD108
に格納される。
ステップ12からステップ17までにおいて節1の述語
″’P2(B、C,*Z)”と節3の述語u p 2(
B、C,A)”との一致が検出される。ステップ17で
は変数1*z〃に”A”がバインドされる。
″’P2(B、C,*Z)”と節3の述語u p 2(
B、C,A)”との一致が検出される。ステップ17で
は変数1*z〃に”A”がバインドされる。
との結果、スタック中の変数”*z’の領域からポイン
トされている変数1*y”の領域に”A”が格納される
。
トされている変数1*y”の領域に”A”が格納される
。
以上の処理により、節4の第1述語”Pi(*XJ*y
)”に関する処理が終了して、次に節4の第2述語であ
るtlPl (*x + *x)”の処理に進む。第2
述語の述語名は第1述語の述語名と同様″−p1”であ
るので節lとの一致を調べる。節1は既にバッフ丁メモ
1JB104に格納されているので記憶装置100から
の読出しは行う必要はない。ステップ18からステップ
23までにおいて、節1の述語”PI (A、*z)”
との一致が検出される。
)”に関する処理が終了して、次に節4の第2述語であ
るtlPl (*x + *x)”の処理に進む。第2
述語の述語名は第1述語の述語名と同様″−p1”であ
るので節lとの一致を調べる。節1は既にバッフ丁メモ
1JB104に格納されているので記憶装置100から
の読出しは行う必要はない。ステップ18からステップ
23までにおいて、節1の述語”PI (A、*z)”
との一致が検出される。
以後の処理では節1の述語″P2(B、C,*z)”と
節2の一致を調べ、不一致であることから節3との一致
を調べ、結果が一致することで、節4の第2述語の処理
が終了する。節4には続く述語が力いので、節4の処理
全体が終了する。
節2の一致を調べ、不一致であることから節3との一致
を調べ、結果が一致することで、節4の第2述語の処理
が終了する。節4には続く述語が力いので、節4の処理
全体が終了する。
比較器112は制御部113への制御信号を出力する。
この比較器1120機能は制御部113の一部とも考え
られる。第4図に示す実施例の説明では、比較器112
は選択回路A110および選択回路B111からの出力
を同時に参照して比較できることを説明するために制御
部113とは別に示しである。
られる。第4図に示す実施例の説明では、比較器112
は選択回路A110および選択回路B111からの出力
を同時に参照して比較できることを説明するために制御
部113とは別に示しである。
以上の説明で明らかなように、本発明によシ、プロログ
に代表される述語論理型言語の処理を高速に実行するこ
とができる。
に代表される述語論理型言語の処理を高速に実行するこ
とができる。
第1図はプロログのプログラム例を示す図、第2図はこ
の例における内部形式を示す図、第3図は第1図のプロ
グラム例を内部形式に変換したときの記憶装置イメージ
を示す図、第4図は本発明の装置の一実施例を示すブロ
ック図、第5図(a)(b)(C)(d)は第1図のプ
ログラム例を処理するために記憶装置からバッファメモ
リに格納された内部表現のイメージを示す図、第6図は
第1図のプログラム例を第4図に示した実施例によって
実行するときの実行ステップを示す図である。 100・・・・・・記憶装置、1o1・・・・・アドレ
スレジスタ、102・・・・・・バッファメモリA11
03・・・・・・バク7丁ポインタA、104 ・・・
・バッファメモリB、105・・・・・・バッファポイ
ンタB、106・・川・バッフ了メモIJc、107・
・・・・・バッファポインタC,108・・・・・・バ
ッファメモリD、109 ・・・・・バッファポインタ
D1110・・・・・・選択回路A、111・・・・・
・選択回路B、112・・・・・比較器、113・・・
・・・制御部。 代理人 弁理士 内 原 音 1!It PI(A 才Z>PI(B、e、水:l入伸
7P2(β、D、E八 姉3 PZ(B、e、Aへ 14 − PI(<;l) t Vジ、 PIと<z
、t、z)。 姶 / 2 第7 図
の例における内部形式を示す図、第3図は第1図のプロ
グラム例を内部形式に変換したときの記憶装置イメージ
を示す図、第4図は本発明の装置の一実施例を示すブロ
ック図、第5図(a)(b)(C)(d)は第1図のプ
ログラム例を処理するために記憶装置からバッファメモ
リに格納された内部表現のイメージを示す図、第6図は
第1図のプログラム例を第4図に示した実施例によって
実行するときの実行ステップを示す図である。 100・・・・・・記憶装置、1o1・・・・・アドレ
スレジスタ、102・・・・・・バッファメモリA11
03・・・・・・バク7丁ポインタA、104 ・・・
・バッファメモリB、105・・・・・・バッファポイ
ンタB、106・・川・バッフ了メモIJc、107・
・・・・・バッファポインタC,108・・・・・・バ
ッファメモリD、109 ・・・・・バッファポインタ
D1110・・・・・・選択回路A、111・・・・・
・選択回路B、112・・・・・比較器、113・・・
・・・制御部。 代理人 弁理士 内 原 音 1!It PI(A 才Z>PI(B、e、水:l入伸
7P2(β、D、E八 姉3 PZ(B、e、Aへ 14 − PI(<;l) t Vジ、 PIと<z
、t、z)。 姶 / 2 第7 図
Claims (1)
- 述語名とその引数より成る述語の連らなシから成る節の
集合として書き下す述語論理型言語を処理する装置にお
いて、前記節の内部表現を格納する記憶装置と、前記記
憶装置から読み出された節の内部表現を一時的に格納す
る複数のバッファメモリと、前記複数のバッファメモリ
の各出力のうち1つを選択して出力とする第1の選択回
路と、前記複数のバッファメモリの各出力のうち1つを
選択して出力とする第2の選択回路と、前記述語間の関
係を次々にたどる道筋を保持するだめのスタック機構お
よび内部レジスタおよびバッファメモリの管理機能およ
び前記2つの選択回路での選択指定機能および前記述語
の一致を調べるための比較機能を含む制御装置とを備え
、前記制御装置の制御の下に前記複数のバッファメモリ
の各出力のうち1つを前記第1の選択回路で選択し前記
複数のバッファメモリの各出力のうちの他の1つを前記
第2の選択回路で選択して前記2つの選択回路で選択さ
れたデータを前記制御装置に送シ前記の2つの選択回路
で選択された2つのバッファメモリから読出しを同時に
行うことによシ互いの述語間の一致を検出できるように
したことを特徴とする述語論理型言語処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58108679A JPS60540A (ja) | 1983-06-17 | 1983-06-17 | 述語論理型言語処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58108679A JPS60540A (ja) | 1983-06-17 | 1983-06-17 | 述語論理型言語処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60540A true JPS60540A (ja) | 1985-01-05 |
| JPH046984B2 JPH046984B2 (ja) | 1992-02-07 |
Family
ID=14490920
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58108679A Granted JPS60540A (ja) | 1983-06-17 | 1983-06-17 | 述語論理型言語処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60540A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4573616A (en) * | 1982-05-24 | 1986-03-04 | Flo-Con Systems, Inc. | Valve, clamp, refractory and method |
| JPS6437631A (en) * | 1987-08-03 | 1989-02-08 | Agency Ind Science Techn | Close selecting system |
-
1983
- 1983-06-17 JP JP58108679A patent/JPS60540A/ja active Granted
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4573616A (en) * | 1982-05-24 | 1986-03-04 | Flo-Con Systems, Inc. | Valve, clamp, refractory and method |
| JPS6437631A (en) * | 1987-08-03 | 1989-02-08 | Agency Ind Science Techn | Close selecting system |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH046984B2 (ja) | 1992-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bailey et al. | A formal model and specification language for procedure calling conventions | |
| JP3637922B2 (ja) | プロセッサにおけるさまざまな長さの文字列中のターミネーション文字を発見する方法および装置 | |
| JPS6140650A (ja) | マイクロコンピユ−タ | |
| Bancilhon et al. | Design of a backend processor for a data base machine | |
| US6449713B1 (en) | Implementation of a conditional move instruction in an out-of-order processor | |
| JP2004030638A (ja) | マイクロプロセッサキャッシュ設計初期化 | |
| CN116301602B (zh) | 数据记录或读取方法、装置、采集设备、车辆及介质 | |
| JPH046984B2 (ja) | ||
| JPS607539A (ja) | 述語論理型言語処理装置 | |
| US4212058A (en) | Computer store mechanism | |
| JPH0527142B2 (ja) | ||
| RU2659492C1 (ru) | Блок унификации с параллельным сопоставлением термов | |
| JPS6074040A (ja) | 述語論理型言語処理装置 | |
| JPS6155736A (ja) | プロロ−グマシン | |
| Cohn et al. | A mechanized proof of correctness of a simple counter | |
| JPH01177130A (ja) | ユニフィケーション処理装置 | |
| US11334627B2 (en) | Data processing | |
| JPS63251835A (ja) | ベクトル処理装置 | |
| JPH01187636A (ja) | ユニフィケーション処理装置 | |
| JPS61148536A (ja) | 情報処理システム | |
| JPS63195739A (ja) | ユニフイケ−シヨン処理装置 | |
| DE69023196T2 (de) | Implizite Prologargumente. | |
| JPS62113240A (ja) | プロログ処理装置 | |
| JPS60256847A (ja) | ユニフアイ処理回路 | |
| JPS61262945A (ja) | 記憶装置 |