JPH03266029A - 論理型言語処理システムにおけるリスト出力方法 - Google Patents

論理型言語処理システムにおけるリスト出力方法

Info

Publication number
JPH03266029A
JPH03266029A JP2064415A JP6441590A JPH03266029A JP H03266029 A JPH03266029 A JP H03266029A JP 2064415 A JP2064415 A JP 2064415A JP 6441590 A JP6441590 A JP 6441590A JP H03266029 A JPH03266029 A JP H03266029A
Authority
JP
Japan
Prior art keywords
predicate
list
predicates
output
user
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
JP2064415A
Other languages
English (en)
Inventor
Izuru Miyamoto
宮本 出
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2064415A priority Critical patent/JPH03266029A/ja
Publication of JPH03266029A publication Critical patent/JPH03266029A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、論理型言語のプログラム開発に好適な論理
型言語システムにおけるリスト出力方法に関する。
(従来の技術) PROLOGで代表される論理型言語のプログラム(ソ
ースプログラム)の開発に際して、インタプリタの実行
によりプログラムリストを出力するために、listi
ng(リスティング)述語が従来から用いられている。
この従来のlisting述語を用いた場合、全プログ
ラムのリストが生成出力される。
ところで、成る述語をデバッグするためには、その述語
が直接もしくは間接に参照している述語だけを見ればよ
い。特に部品となる述語については、このような場合が
多い。しかし、従来のlisting述語を用いたリス
ト出力方法では、全てのプログラムリストが出力されて
しまい、効率的なデバッグが行えなかった。
(発明が解決しようとする課題) 上記したように、従来のlisting述語を用いたリ
スト出力方法では、全プログラムのリストが出力されて
しまうため、所望の述語をデバッグする場合には効率が
悪いという問題があった。
この発明は上記事情に鑑みてなされたものでその目的は
、PROLOGで代表される論理型言語のプログラム開
発に際し、所望の述語が直接もしくは間接に参照してい
る述語だけのリストを出力できる論理型言語処理システ
ムにおけるリスト出力方法を提供することにある。
[発明の構成] (課題を解決するための手段) この発明は、論理型言語のインタプリタ中に、論理型言
語によるプログラムから所望の述語Xに関係する述語の
みを抽出してリスト出力することを指示する特定の組込
み述語を組込み、この組込み述語に従って、この組込み
述語で示される述語X1および同述語Xが直接もしくは
間接参照する全ての述語定義のリストを生成して出力す
るようにしたことを特徴とするものである。また、この
発明は、上記リストの効率的な生成のために、上記組込
み述語で示される上記Xをユニファイした後に述語Xが
参照する述語を全て抽出して同述語Xと共に所定のリス
トに設定し、しかる後に同リスト中に設定されている述
語から参照され且つ同リスト中に未だ設定されていない
述語を同リストに追加する処理を繰返すようにしたこと
を特徴とする。
(作用) 上記の構成によれば、インタプリタ中に組込んだ組込み
述語で指定された述語Xが直接もしくは間接に参照する
述語だけ(述語Xを含む)のリストを生成出力できるの
で、述語Xのデバッグが効率的に行える。
(実施例) 以下、この発明の一実施例を図面を参照して説明する。
第1図は、論理型言語、例えばPROLOGのプログラ
ム開発のために、PROLOGのプログラム(ユーザプ
ログラム)のユーザインタフェースとなるインタプリタ
に新規なlisting述語(組込み述語)listi
ngxを組込むことによって行われるリスト生成出力の
手順を示すフローチャートである。この述語1isti
ngxは、例えば述語1isting*(X)の場合で
あれば、述語X1およびXが直接もしくは間接に参照す
る全ての述語定義のリストを生成出力することを示すも
のである。PROLOGのインタプリタに組込まれた述
語1istingX(X)の実行は、第1図のフローチ
ャートの示す手順で、次のように行われる。
まず、Xのユニフィケーション(統一化)を行い、Xの
値を求める操作が行われる(ステップSl)。
次に、Xがユーザ述語を表わすか否かがチエツクされ(
ステップS2)、ユーザ述語を表わしていなければ第1
図のフローチャートから抜ける。
これに対してXがユーザ述語を表わしていれば、Xの定
義(述語定義)を調べ、ユーザ述語Xが直接に参照して
いる全てのユーザ述語を対象プログラムからピックアッ
プ(抽出)し、述g Xと共にピックアップリストに設
定(代入)する(ステップS3)。
次に、ピックアップリストに設定されている述語から参
照されているユーザ述語のうち、未だピックアップリス
トに設定されていないもの(ピックアップされていない
もの)があるか否かが調べられる(ステップS4)。
ステップS4の判定がYESの場合には、該当するユー
ザ述語を全てピックアップリストに追加する操作が行わ
れ(ステップS5)、Lかる後に上記ステップS4に戻
る。
そして、ステップS4.S5が繰り返され、やがてステ
ップS4の判定がNOとなると、その時点のピックアッ
プリストに設定されているユーザ述語全てに対してli
stingが行われ、述語X1およびXが直接もしくは
間接に参照する述語だけのリストが例えば表示出力され
て(ステップS6)、第1図のフローチャートから抜け
る。
したがって、開発対象となるプログラム(ユーザプログ
ラム)に含まれる述語が例えばff12図(イ)に示す
ような場合に、述語listingx(b)を実行する
と、第2図(ロ)に示すようにユーザ述語すから直接も
しくは間接に参照されるユーザ述語のリスト(述語すを
含む)が生成出力される。この第2図(ロ)のリストを
用いることにより、述語すのデバッグを効率的に行うこ
とができる。
【発明の効果] 以上詳述したようにこの発明によれば、論理型言語のイ
ンタプリタ中に、論理型言語によるプログラムのうち所
望の述語Xに関係する述語のみのリストを出力すること
を指示する特定の組込み述語を組込むことにより、述語
Xから直接もしくは関節に参照される述語だけのリスト
を生成出力することができるため、全プログラムのリス
トが生成出力されてしまう従来方法に比べて、所望の述
語Xのデバッグ効率が向上する。
【図面の簡単な説明】
第1図はこの発明のリスト出力方法の一実施例を示すフ
ローチャート、第2図は同実施例におけるリスト出力結
果の具体例を、開発対象プログラム中の全述語と対比さ
せて示す図である。

Claims (2)

    【特許請求の範囲】
  1. (1)論理型言語のインタプリタ中に、論理型言語によ
    るプログラムから所望の述語Xに関係する述語のみを抽
    出してリスト出力することを指示する特定の組込み述語
    を組込み、この組込み述語に従って、この組込み述語で
    示される述語X、および同述語Xが直接もしくは間接参
    照する全ての述語定義のリストを生成して出力するよう
    にしたことを特徴とする論理型言語処理システムにおけ
    るリスト出力方法。
  2. (2)論理型言語のインタプリタ中に、論理型言語によ
    るプログラムから所望の述語Xに関係する述語のみを抽
    出してリスト出力することを指示する特定の組込み述語
    を組込み、この組込み述語に従い、同述語で示される上
    記Xをユニファイした後に述語Xが参照する述語を全て
    抽出して同述語Xと共に所定のリストに設定し、しかる
    後に同リスト中に設定されている述語から参照され且つ
    同リスト巾に未だ設定されていない述語を同リストに追
    加する処理を繰返すことにより、上記述語X、および同
    述語Xが直接もしくは間接参照する全ての述語定義のリ
    ストを生成して出力するようにしたことを特徴とする論
    理型言語処理システムにおけるリスト出力方法。
JP2064415A 1990-03-16 1990-03-16 論理型言語処理システムにおけるリスト出力方法 Pending JPH03266029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2064415A JPH03266029A (ja) 1990-03-16 1990-03-16 論理型言語処理システムにおけるリスト出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2064415A JPH03266029A (ja) 1990-03-16 1990-03-16 論理型言語処理システムにおけるリスト出力方法

Publications (1)

Publication Number Publication Date
JPH03266029A true JPH03266029A (ja) 1991-11-27

Family

ID=13257636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2064415A Pending JPH03266029A (ja) 1990-03-16 1990-03-16 論理型言語処理システムにおけるリスト出力方法

Country Status (1)

Country Link
JP (1) JPH03266029A (ja)

Similar Documents

Publication Publication Date Title
US7080360B2 (en) Breakpoint safety net
JP3318051B2 (ja) 翻訳処理方法
JPH03266029A (ja) 論理型言語処理システムにおけるリスト出力方法
JP3196675B2 (ja) 言語処理方式
JPH0554277A (ja) プラント監視装置
JPH0736734A (ja) アーギュメント値のチェック方法
JPH0667871A (ja) プログラム自動更新方式
JPH01177165A (ja) 配列の定義/引用関係検査方式
JPH0695890A (ja) コンパイラにおける名前置換方式
JPS5960640A (ja) コンパイラ処理方法
JPH05143393A (ja) テストプログラム作成装置
JPH05334119A (ja) プログラムデバッグ方法
JPH02253443A (ja) プログラム生成方法
JPS61216085A (ja) ベクトル処理プログラム生成方式
JPS61283929A (ja) コピ−ライト表示保護方式
JPH03235135A (ja) プログラムの自動検査方式
JPH06274351A (ja) コンパイラの最適化方式
JPH0635714A (ja) プログラムの最適化方式
JPH02205930A (ja) インタフェースチェック処理方法
JPH04338841A (ja) デバッガ装置
JPH04312130A (ja) 言語処理プログラム
JPH0488438A (ja) 高級言語による原始プログラムに対するデバッガの一命令実行方式
JPH11194958A (ja) プログラムテストシステム
JPS63308662A (ja) トランザクシヨン処理システムにおける項目別自動性能解析方式
JP2000035983A (ja) 半導体集積回路のシミュレーション方法