JPH02224142A - Prolog source level debugging system - Google Patents
Prolog source level debugging systemInfo
- Publication number
- JPH02224142A JPH02224142A JP8945689A JP4568989A JPH02224142A JP H02224142 A JPH02224142 A JP H02224142A JP 8945689 A JP8945689 A JP 8945689A JP 4568989 A JP4568989 A JP 4568989A JP H02224142 A JPH02224142 A JP H02224142A
- Authority
- JP
- Japan
- Prior art keywords
- debugging
- source text
- spy point
- prolog
- program
- 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
- 230000003936 working memory Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、人工知能の分野での自然言語処理やエキスパ
ート・システムなどで利用されるProlog言語やこ
れに準するProlog系プログラミング言語で記述さ
れたプログラムのデバッグ装置に関する。[Detailed Description of the Invention] (Field of Industrial Application) The present invention is written in the Prolog language used in natural language processing, expert systems, etc. in the field of artificial intelligence, or a similar Prolog programming language. This article relates to a debugging device for programs.
(従来の技術)
人工知能の分野などでは論理プログラミングを支援する
プログラム言語として、f!dCAAD、 Deper
t −ment of Architecture、
University of Edinburghで開
発されたC−PrologなどのProlog系の言語
が知られている。(Prior art) In the field of artificial intelligence, f! is used as a programming language that supports logical programming. dCAAD, Deper
t-ment of Architecture,
Prolog-based languages such as C-Prolog developed at the University of Edinburgh are known.
このProlog言語は会話型言語であり、第3図のよ
うなプログラムをワーキングメモリに読み込み、第4図
のように述語呼出しによりプログラムを実行する。第3
図のプログラムは、子孫(descendant) 、
子供(offapring)、親(paren t)の
関係及び事実(gt308はg ts328の親、di
no246はgtb308の親)を定義したものである
。第4図は、dino246の子孫を求める実行例であ
る。第4図では1度求めた解(gtn308)に対し、
それを「;」で否定し、バックトランク(逆戻り)によ
り別の解(gts328 )を求めさせている。This Prolog language is a conversational language, and a program as shown in FIG. 3 is read into the working memory, and the program is executed by predicate calling as shown in FIG. Third
The program in the figure is a descendant,
Relationship and facts between children (offapring) and parents (gt308 is gts328's parent, di
No.246 defines the parent of gtb308. FIG. 4 is an example of execution for finding descendants of dino246. In Figure 4, for the solution (gtn308) found once,
This is negated by ";" and another solution (gts328) is found by backtrunk.
第3図において、descendanL offspr
ing 、 pa −ren t はアリティ2の述
語で、x、y、zは変数、dino246 、gtb3
08、g ts328はアトムと言う値である。述語の
実行は変数と値とのユニファイと、バックトラック制御
とにより行われ、変数の有効範囲は一つの述語定義の中
で閉じており、全て局所変数である。−度ユニファイで
与えられた変数の値はバンクトラックでしか変更できな
い。In FIG. 3, descendanL offspr
ing, pa-rent are predicates of arity 2, x, y, z are variables, dino246, gtb3
08, g ts328 is a value called an atom. Execution of a predicate is performed by unifying variables and values and backtrack control, and the effective range of variables is closed within one predicate definition, and all variables are local variables. -The value of a variable given by Unify can only be changed using a bank track.
第5図から第7図までは、上述のようなC−Pro−1
ogの持つデバッグ機能により、第4図のプログラム実
行においてステップ毎にトレース情報を出力したものの
全体を各図に分解して示すである。From FIG. 5 to FIG. 7, C-Pro-1 as described above is shown.
Using the debugging function of og, trace information is output for each step in the execution of the program shown in FIG. 4, and is broken down into each figure.
このデバッグ機能では、まず、
spy 述語名/アリティ
で、デバッグ対象の述語を指定する。その後、プログラ
ムの実行中にspyで指定した述語の手続きの入口、出
口に出会った時に実行の中断やトレース情報の出力が行
われる。述語手続きの入口としては述語の呼出しく C
a1l )が、出口としては成功(Exit )、バッ
クトラック(BackTo )、失敗(Fa−il )
がある。トレース情報は出会った時点での引き数の値を
示すものであり、 xxxは値が未定義であることを
意味する。In this debug function, first specify the predicate to be debugged using the spy predicate name/arity. Thereafter, when the program encounters the entrance or exit of the predicate procedure specified by spy during program execution, execution is interrupted and trace information is output. As the entrance to the predicate procedure, call the predicate.
a1l), but the exits are success (Exit), backtrack (BackTo), and failure (Fa-il).
There is. The trace information indicates the value of the argument at the time it is encountered, and xxx means the value is undefined.
実行が中断された場合には「?」のプロンプトが出力さ
れ、これに対してユーザがデバッグコマンドを入力する
。If execution is interrupted, a "?" prompt is output, in response to which the user enters a debug command.
デバッグコマンドには第8図に示すようなものがあり、
ユーザはこれらのデバッグコマンドによって実行の制御
を行いながらデバッグ作業を行う。There are debug commands as shown in Figure 8.
The user performs debugging work while controlling execution using these debugging commands.
第9図は、述語が定義されているソースプログラムをワ
ーキングメモリに読み込む述語upda teO例であ
る。FIG. 9 is an example of a predicate update operation in which a source program in which a predicate is defined is read into the working memory.
上記従来のデバッグ機能では、述語が第9図の程度に複
雑になると、第10から第15図までに分割して全体を
示すように(第3図の述語が定義されているソースファ
イルXXXの読み込みをステップ実行した例)、かなり
複雑になってしまう。In the conventional debugging function described above, when the predicate becomes as complex as shown in Figure 9, it is divided into Figures 10 to 15 to show the whole (source file XXX where the predicate in Figure 3 is defined). (Example of step-by-step reading), it becomes quite complicated.
(発明が解決しようとする課題)
上述した従来のデバッグ機能では、スパイ点が述語単位
に設定されるので、第10図から15図までに例示した
ように、真に必要とするトレース情報を得るまでのデバ
ッグステップが長いデバッグコマンド列を必要とする複
雑なものになってしまうという問題がある。(Problems to be Solved by the Invention) In the conventional debug function described above, spy points are set for each predicate, so as illustrated in FIGS. 10 to 15, it is difficult to obtain truly necessary trace information. There is a problem in that the debugging steps up to this point become complicated and require a long string of debugging commands.
また、従来のデバッグ機能ではデバッグ時に出力される
トレース情報には不必要なものが多数台まれ、無駄が多
くなるという問題もある。Another problem with conventional debugging functions is that trace information output during debugging includes a lot of unnecessary information, resulting in a lot of waste.
(課題を解決するための手段)
本発明のPrologソースレベル・デバッグシステム
は、デバッグ対象の述語の指定により、その述語のソー
ステキストをソースプログラムから抽出するソーステキ
スト抽出部と、この抽出されたソーステキスト上にディ
スプレイとマウスを利用して対話形式でスパイ点の位置
及び仕様の設定を行うスパイ点の位置及び仕様設定部と
を備えている。(Means for Solving the Problems) The Prolog source-level debugging system of the present invention includes a source text extraction unit that extracts the source text of a predicate to be debugged from a source program by specifying the predicate to be debugged, and The apparatus includes a spy point position and specification setting section for setting the spy point position and specifications in an interactive manner using a display and a mouse on the text.
このスパイ点の設定は、ソーステキストの中で述語本体
を構成する述語呼出しの間の位置にスパイ点でのアクシ
ョンプログラムコードを挿入することにより行われる。Setting of this spy point is performed by inserting action program code at the spy point at a position between predicate calls that constitute the predicate body in the source text.
また、スパイ点の仕様としては、スパイ点の有動性(ス
パイ点におけるアクションの有効の可否)、プログラム
実行の中断条件(スパイ点でプログラム実行を中断する
か否かを判断する条件式)、トレース情報の出力条件(
スパイ点でのトレース情報を出力するか否かを判断する
条件式)、トレース情報の内容(スパイ点で出力するト
レース情報の内容:述語定義に現れる変数の値等)など
が設定される。なお、アクションプログラムコードは元
のプログラムの制御を変えないために、通常、呼出しは
成功、バンクトラック時は失敗するように実現する。In addition, the specifications of the spy point include the movability of the spy point (whether the action at the spy point is valid or not), the interrupt condition for program execution (the conditional expression that determines whether or not to interrupt program execution at the spy point), Trace information output conditions (
A conditional expression for determining whether to output trace information at a spy point), content of trace information (content of trace information to be output at a spy point: values of variables appearing in a predicate definition, etc.) are set. Note that since the action program code does not change the control of the original program, it is normally implemented in such a way that the call succeeds and the bank track fails.
サラに、本発明のPrologソースレベル・デバッグ
システムは、スパイ点におけるアクションプログラムコ
ードを挿入したデバッグ用ソーステキストをProlo
gプログラム実行部のワーキングメモリに一時的に登録
することにより実行部によるデバッグを可能とするデバ
ッグ用ソーステキスト登録部を備えている
Prologプログラム実行部は、デバッグモード下に
おいてスパイ点に制御が達した時に、スパイ点に対応す
るアクションプログラムコードの実行によりトレース情
報の出力、実行の中断、再開、Breakによる任意プ
ログラムの実行等のデバッグ作業を遂行する機能を有す
る。Specifically, the Prolog source-level debugging system of the present invention debugs the debugging source text into which the action program code at the spy point is inserted into Prolog.
The Prolog program execution section is equipped with a debugging source text registration section that enables debugging by the execution section by temporarily registering it in the working memory of the program execution section. Sometimes, it has the function of performing debugging work such as outputting trace information, suspending and resuming execution, and executing an arbitrary program by using Break by executing an action program code corresponding to a spy point.
そしてデバッグの実行終了の際に、原ソーステキストの
再登録により、Prologプログラム実行部のワーキ
ングメモリをデバッグ開始以前の状態に復元するソース
テキスト復元部を有する。The program includes a source text restoring section that restores the working memory of the Prolog program execution section to the state before the start of debugging by re-registering the original source text when debugging is finished.
このように、本発明のデバッグシステムによれば、スパ
イ点をユーザの所望の位置に随意に設定できるため、デ
バッグ時に真に必要なトレース情報のみを出力させるこ
とが可能になる。In this manner, according to the debugging system of the present invention, the spy point can be set at any desired location by the user, so that only trace information that is truly necessary during debugging can be output.
しかも、設定に必要な操作はディスプレイとマウスによ
る対話形式で容易・確実に行える。What's more, the operations necessary for setting can be performed easily and reliably using the display and mouse interactive format.
以下、本発明の作用を実施例と共に詳細に説明する。Hereinafter, the operation of the present invention will be explained in detail together with examples.
(実施例)
第1図は本発明の一実施例のPrologソースレベル
・デバッグシステムの全体構成図で、Prologソー
スプログラム1、ソーステキスト抽出部2、スパイ点の
位置及び仕様設定部3、デバッグ用ソーステキスト登録
部4、ソーステキスト復元部5、デバッグ作業入出力部
6、マンマシンインタフェース制御部7 、Prolo
gプログラム実行部8、デバッグ用ソーステキスト9、
ソーステキスト10、ディスプレイ11及びマウス12
を備えている。(Embodiment) FIG. 1 is an overall configuration diagram of a Prolog source level debugging system according to an embodiment of the present invention, in which a Prolog source program 1, a source text extraction unit 2, a spy point position and specification setting unit 3, a Source text registration section 4, source text restoration section 5, debug work input/output section 6, man-machine interface control section 7, Prolo
g program execution unit 8, debugging source text 9,
Source text 10, display 11 and mouse 12
It is equipped with
ソーステキスト抽出部2は、デバッグの対象とする述語
のソーステキストを、外部記憶装置内のファイルやPr
o logプログラム実行部8のワーキングメモリ内に
保持されているソースプログラム1から抽出する。The source text extraction unit 2 extracts the source text of the predicate to be debugged from a file in an external storage device or from a Pr
o Extract from the source program 1 held in the working memory of the log program execution unit 8.
スパイ点の位置及び仕様設定部3は、抽出されたソース
テキスト中にデバッグのためのアクションプログラムコ
ードを挿入するスパイ点の位置及び仕様設定を行う。The spy point location and specification setting unit 3 sets the location and specifications of a spy point at which action program code for debugging is inserted into the extracted source text.
デバッグ用ソーステキスト登録部4は、デバッグ用アク
ションプログラムコードが挿入されたデバッグ用ソース
テキスト9をPrologプログラム実行部8のワーキ
ングメモリに登録し、このProl −ogプログラム
実行部8の実行状態をデバッグモードにする。The debug source text registration unit 4 registers the debug source text 9 into which the debug action program code has been inserted into the working memory of the Prolog program execution unit 8, and sets the execution state of the Prolog program execution unit 8 to the debug mode. Make it.
ソーステキスト復元部5は、デバッグ作業終了後にデバ
ッグ用ソーステキストロード直前の原ソーステキスト1
0をPrologプログラム実行部8のワーキングメモ
リに再登録することにより、このワーキングメモリをデ
バッグ開始以前の状態に復元する。The source text restoring unit 5 restores the original source text 1 immediately before loading the source text for debugging after the debugging operation is completed.
By re-registering 0 in the working memory of the Prolog program execution unit 8, this working memory is restored to the state before the start of debugging.
デバッグ作業入出力部6は、Prologプログラム実
行部8に於けるデバッグ作業中の入出力フロントエンド
となる。すなわち、デバッグ作業中にスパイ点で実行さ
れるアクションプログラムコードに関しては、トレース
情報の出力、デバッグコマンドの入力はこのデバッグ作
業入出力部6を介して行われる。The debugging input/output unit 6 serves as an input/output front end during debugging in the Prolog program execution unit 8. That is, regarding the action program code executed at the spy point during debugging, output of trace information and input of debugging commands are performed via this debugging input/output unit 6.
マンマシンインタフェース制御部7は、ユーザが上記各
部2〜6の機能をディスプレイ11とマウス12で能率
よく利用するためのマンマシンインタフェース制御部で
ある。The man-machine interface control section 7 is a man-machine interface control section that allows the user to efficiently utilize the functions of the above-mentioned sections 2 to 6 using the display 11 and the mouse 12.
第2図は、第1図のデバッグ装置によって第7図に例示
した述語upda teのデバッグ作業を行う際のディ
スプレイ画面21の表示例である。FIG. 2 shows an example of what is displayed on the display screen 21 when the debugging device shown in FIG. 1 debugs the predicate update illustrated in FIG. 7.
本例では、ディスプレイ11とマウス12はマルチウィ
ンドウ・システムにより制御されており、Prolog
プログラム実行部8はPrologウィンドウ22
を介して、その他の各部はデバッグウィンドウ23を介
して、ユーザとの会話を行う。In this example, the display 11 and mouse 12 are controlled by a multi-window system, and the Prolog
The program execution unit 8 is a Prolog window 22
, the other parts communicate with the user via the debug window 23.
このデバッグウィンドウ23は、スパイ・サブウィンド
ウ24、パネル・サブウィンドウ25、テキスト・サブ
ウィンドウ26、トレース・サブウィンドウ27から構
成される。このうちスパイ・サブウィンドウ24、テキ
スト・サブウィンドウ26、トレース・サブウィンドウ
27は、テキスト表示ウィンドウであり、左側にスクロ
ールバーを持つ、これらのスクロールバーは表示中の部
分がテキスト中で占める位置と割合を示し、マウス操作
により表示部分を移動できるものである。This debug window 23 is composed of a spy subwindow 24, a panel subwindow 25, a text subwindow 26, and a trace subwindow 27. Among these, the spy subwindow 24, the text subwindow 26, and the trace subwindow 27 are text display windows that have scroll bars on the left side.These scroll bars indicate the position and proportion of the displayed part in the text. , the display part can be moved by mouse operation.
図示の例では、スパイ・サブウィンドウ24ではテキス
ト全体が、テキスト・サブウィンドウ26ではテキスト
の上半分が、トレース・サブウィンドウ27ではテキス
トの下半分が表示されている。パネル・サブウィンドウ
25は、複数のボタン領域からなり、各ボタン領域をマ
ウス12で選択することにより、そのボタン領域に特定
のアクションが行われる。パネル・サブウィンドウ25
ではbreakボタンが選択されていることが示されて
いる(斜め矢印はマウスカーソル)。In the illustrated example, the spy subwindow 24 displays the entire text, the text subwindow 26 displays the upper half of the text, and the trace subwindow 27 displays the lower half of the text. The panel subwindow 25 consists of a plurality of button areas, and by selecting each button area with the mouse 12, a specific action is performed on that button area. Panel subwindow 25
shows that the break button is selected (the diagonal arrow is the mouse cursor).
デバッグウィンドウ23を使ったデバッグ例を第2図に
よって説明する。An example of debugging using the debug window 23 will be explained with reference to FIG.
1 、5pyset ボタン領域選択アバ。7グの対
象とする述語名/アリティ入力のプロンプトがトレース
・サブウィンドウ27に表示される。この表示されたプ
ロンプトにより述語名/アリティ (upda te/
2)をトレース・サブウィンドウ27から入力する。1, 5pyset button area selection aba. A prompt for inputting the name/arity of the predicate to be traced is displayed in the trace subwindow 27. This displayed prompt allows you to update the predicate name/arity (update/
2) is input from the trace subwindow 27.
テキスト・サブウィンドウ26に指定した述語のソース
テキストが表示される。The source text of the specified predicate is displayed in the text subwindow 26.
2、5pyne−ボタン領域選択
新しいスパイ点(SI)のデフォルトの仕様が、スパイ
・サブウィンドウ24に表示される。2,5 pyne-button area selection Default specifications for a new spy point (SI) are displayed in the spy subwindow 24.
図示の例では、
スパイ点名 predicate 述語名/アリティ
s ta te スパイ点の状態(activ
e又は1nactive)
trace )レース情報出力判定条件式
%式%
s topback バックトラック時実行中断判
定条件式
traceX )レース情報出力する式の並び
という仕様になっている。In the illustrated example, spy point name predicate predicate name/arity state spy point state (active
e or 1nactive) trace) Race information output judgment conditional expression % expression% s topback Execution interruption judgment conditional expression when backtracking traceX) The specification is a sequence of expressions for outputting race information.
デフォルトに関しては、predicateはテキスト
・サブウィンドウ26に表示中の述語、s ta te
はactive(有効) 、traceはtrue (
常に出力)、5topはtrue (常に中断) 、5
topbackはfalse (常に素通り) 、tr
aceX はソーステキストに現れる変数の並びであ
る。なお、5pycl −earボタン領域によってス
パイ点が消去される。By default, predicate is the predicate currently displayed in the text subwindow 26, state
is active, trace is true (
always output), 5top is true (always interrupt), 5
topback is false (always passed through), tr
aceX is a list of variables that appear in the source text. Note that the spy point is deleted by pressing the 5pycl-ear button area.
3、テキスト・サブウィンドウ26において、スパイ点
の位置をマウス12の操作で設定。3. In the text subwindow 26, set the spy point position by operating the mouse 12.
スパイ点の設定位置にアウトラインフォントでスパイ点
名(Sl)が挿入される。The spy point name (Sl) is inserted in outline font at the set position of the spy point.
4、スパイ・サブウィンドウ24において、スパイ点の
仕様を変更。4. Change the specifications of the spy point in the spy subwindow 24.
例では、traceX をpile、 X、 A、
B、 F、 Nに変更5、5pysave ボタン選
択
スパイ点設定済みのデバッグ用ソーステキストがPro
logプログラム実行部8のワーキングメモリに登録さ
れ、Prolog プログラム実行部8がデバッグモ
ードにされる。In the example, traceX becomes pile, X, A,
Change to B, F, N 5, 5 pysave Button selection The debugging source text with spy points set is Pro
It is registered in the working memory of the Prolog program execution unit 8, and the Prolog program execution unit 8 is placed in debug mode.
6、 Prologウィンドウ22においてて、アノ1
ソゲのためにプログラムが実行される。6. In the Prolog window 22,
A program is executed for Soge.
例では、update (xxx)。In the example, update (xxx).
7、スパイ点でのアクションプログラムコードの実行結
果がトレース・サブウィンドウ27に出力され(X=、
0.p= 、、、 N=、、、)、更に、中断時(st
。7. The execution result of the action program code at the spy point is output to the trace subwindow 27 (X=,
0. p= , , N= , , ), and furthermore, at the time of interruption (st
.
p at Sl)にはデバッグコマンド入力のプロンプ
ト(command ? )が出力される。A prompt (command?) for inputting a debugging command is output to p at Sl).
8、スパイ点での中断時、デバッグコマンドボタン領域
を選択。8. When suspending at the spy point, select the debug command button area.
conttnueは実行m続、abor tは実行中止
、breakは新しい実行レベルに入る。conttnue continues execution, abort stops execution, and break enters a new execution level.
9.5pyoffボタン領域選択
原ソーステキストをPrologプログラム実行部8の
ワーキングメモリに再登録して、Prologプログラ
ム実行部8のデバッグモードを終了させる。9.5 Re-register the pyoff button area selection original source text in the working memory of the Prolog program execution unit 8, and terminate the debug mode of the Prolog program execution unit 8.
なお、quitボタン領域は各部2〜7の動作を終了さ
せる。Note that the quit button area ends the operations of each section 2 to 7.
(発明の効果)
以上説明したように、本発明のPrologソースレベ
ル・デバッグシステムは、デバッグの際に用いるスパイ
点の設定を述語定義のソーステキスト中にアクションプ
ログラムコードを挿入する形で行うため、デバッグ時に
真に必要とするトレース情報のみの出力が可能になる。(Effects of the Invention) As explained above, the Prolog source-level debugging system of the present invention sets the spy points used during debugging by inserting action program code into the source text of the predicate definition. It is possible to output only the trace information that is truly necessary during debugging.
また、スパイ点の位置及び仕様の設定が、ディスプレイ
とマウスの利用による会話形式で行える構成であるから
、デバッグを極めて能率よく行えるという効果がある。Furthermore, since the configuration allows setting of the spy point location and specifications in a conversational manner using a display and a mouse, debugging can be performed extremely efficiently.
第1図は本発明の一実施例のPrologソースレベル
・デバッグシステムの構成を示す機能ブロック図、第2
図は上記デバッグシステムによるデバッグ作業時のディ
スプレイ画面の表示内容を例示する概念図、第3図はP
rolog言語のプログラムの一例を示す概念図、第4
図は第3図のプログラムの実行の一例を示す概念図、第
5図から第7図までは第3図のプログラムに対する従来
のデバッグ機能によるデバッグ作業内容の一例を示す概
念図、第8図はProlog言語に対する従来のデバッ
グ機能におけるデバッグコマンドの一覧を示す概念図、
第9図はProlog言語のプログラムの他の例を示す
概念図、第10図から第15図までは第9図のプログラ
ムに対する従来のデバッグ機能によるデバッグ作業の内
容の一例を示す概念図である。
1・・・Prologソースプログラム、2・・・ソー
ステキスト抽出部、3・・・スパイ点の位置及び仕様設
定部、4・・・デバッグ用ソーステキスト登録部、5・
・・ソーステキスト復元部、6・・・デバッグ作業入出
力部、7・・・マンマシンインタフェース制御部、8・
・・Prologプログラム実行部、9・・・デバッグ
用アクションコードを含むソーステキスト、10・・・
デバッグの終了後に復元される原ソーステキスト、11
・・・ディスプレイ、12・・・マウス、21・・・デ
ィスプレイ画面、22・・・Prologウィンドウ、
23・・・デバッグウィンドウ、24・・・スパイ・サ
ブウィンドウ、25・・・パネル・サブウィンドウ、2
6・・・テキスト・サブウィンドウ、27・・・トレー
ス・サブウィンドウ。
第
図FIG. 1 is a functional block diagram showing the configuration of a Prolog source-level debug system according to an embodiment of the present invention.
The figure is a conceptual diagram illustrating the display contents of the display screen during debugging work by the above debugging system.
Conceptual diagram showing an example of a rolog language program, Part 4
The figure is a conceptual diagram showing an example of the execution of the program in Figure 3. Figures 5 to 7 are conceptual diagrams showing an example of the content of debugging using the conventional debugging function for the program in Figure 3. A conceptual diagram showing a list of debug commands in the conventional debug function for the Prolog language,
FIG. 9 is a conceptual diagram showing another example of a program in the Prolog language, and FIGS. 10 to 15 are conceptual diagrams showing an example of the content of debugging work performed by the conventional debugging function on the program in FIG. 9. DESCRIPTION OF SYMBOLS 1... Prolog source program, 2... Source text extraction section, 3... Spy point position and specification setting section, 4... Source text registration section for debugging, 5.
... Source text restoration section, 6. Debugging work input/output section, 7. Man-machine interface control section, 8.
...Prolog program execution part, 9... Source text including debugging action code, 10...
Original source text restored after debugging, 11
...Display, 12...Mouse, 21...Display screen, 22...Prolog window,
23...Debug window, 24...Spy subwindow, 25...Panel subwindow, 2
6...Text subwindow, 27...Trace subwindow. Diagram
Claims (1)
対象として指定された述語のソーステキストを抽出する
ソーステキスト抽出部と、 この抽出されたソーステキスト中の述語本体を構成する
述語呼出しの間にスパイ点の位置を設定すると共にデバ
ッグ実行時のこのスパイ点の有効性、プログラム実行の
中断条件、トレース情報の出力条件、出力するトレース
情報の内容を含むスパイ点の仕様を設定し、この設定に
基づきアクションプログラムコードをスパイ点の位置に
挿入することによりデバッグ用ソーステキストを生成す
るスパイ点及び仕様設定部と、 このデバッグ用ソーステキストをPrologプログラ
ム実行部のワーキングメモリに登録してこのProlo
gプログラム実行部によるデバッグの実行を可能にする
デバッグ用ソーステキスト登録部と、前記デバッグの実
行中に制御がスパイ点に達した時に前記設定済みのスパ
イ点の仕様に従ってトレース情報の出力、実行中断、実
行再開、任意プログラム実行等のデバッグを実行するP
rologプログラム実行部と、 前記デバッグの終了の際に前記Prologプログラム
実行部のワーキングメモリ内のソーステキストをデバッ
グ開始以前の状態に復元するソーステキスト復元部と、 前記各部の動作を対話形式で制御可能とするディスプレ
イ、マウス及びマンマシンインタフェース部とを備えた
ことを特徴とするPrologソースレベル・デバッグ
システム。[Claims] Between a source text extraction unit that extracts the source text of a predicate specified as a debugging target from a source program in a Prolog language, and a predicate call that constitutes the predicate body in the extracted source text. In addition to setting the location of the spy point, specify the specifications of the spy point, including the validity of this spy point during debugging, conditions for suspending program execution, conditions for outputting trace information, and content of trace information to be output. a spy point and specification setting section that generates a debugging source text by inserting an action program code into the spy point position based on the Prolog program execution section;
A debug source text registration unit that enables debugging by the g program execution unit, and outputs trace information and interrupts execution according to the specifications of the set spy point when control reaches a spy point during the debug execution. , resuming execution, executing arbitrary program execution, etc. P
rolog program execution unit; a source text restoration unit that restores the source text in the working memory of the Prolog program execution unit to the state before the start of debugging when the debugging ends; operations of each of the units can be controlled interactively. 1. A Prolog source-level debugging system comprising a display, a mouse, and a man-machine interface section.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8945689A JPH02224142A (en) | 1989-02-27 | 1989-02-27 | Prolog source level debugging system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8945689A JPH02224142A (en) | 1989-02-27 | 1989-02-27 | Prolog source level debugging system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02224142A true JPH02224142A (en) | 1990-09-06 |
Family
ID=12726355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8945689A Pending JPH02224142A (en) | 1989-02-27 | 1989-02-27 | Prolog source level debugging system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02224142A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05342052A (en) * | 1992-06-05 | 1993-12-24 | Kobe Nippon Denki Software Kk | Debugging system |
JP2012190219A (en) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | Information processing device and trace log acquisition method |
-
1989
- 1989-02-27 JP JP8945689A patent/JPH02224142A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05342052A (en) * | 1992-06-05 | 1993-12-24 | Kobe Nippon Denki Software Kk | Debugging system |
JP2012190219A (en) * | 2011-03-10 | 2012-10-04 | Fujitsu Ltd | Information processing device and trace log acquisition method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6003143A (en) | Tool and method for diagnosing and correcting errors in a computer program | |
US6016474A (en) | Tool and method for diagnosing and correcting errors in a computer program | |
US20030081002A1 (en) | Method and system for chaining and extending wizards | |
JPH02272645A (en) | Method for supporting program debugging | |
JPH02224142A (en) | Prolog source level debugging system | |
JPH0554277A (en) | Plant monitor device | |
JPH02275539A (en) | Debugging system | |
JPS63131229A (en) | Process procedure preparing and processing system | |
JP2809048B2 (en) | Screen debugging method | |
JPH04155540A (en) | Program correcting system by interactive debugger | |
JPS6383861A (en) | Automatic processing system for numerical formula | |
JPH05250221A (en) | Simulator execution system | |
JP2677605B2 (en) | Information processing apparatus and information processing method | |
JP2002073370A (en) | Debugging support device and debugging method using the same | |
JPH0341509A (en) | Command sentence analyzing system | |
JPS6172339A (en) | Control system for execution and display of program | |
JPH09160611A (en) | Programmable controller | |
JPH04260970A (en) | Method for inputting japanese language in application program | |
JPH0439746A (en) | Program development supporting device | |
JPH0887403A (en) | Program development support device | |
JPH01177613A (en) | System for displaying nc program | |
JPH08297568A (en) | Program development supporting method and computer system applied with the same method | |
JPH0212450A (en) | Sentence preparing device | |
JPS63238658A (en) | Character deleting method for generated document | |
JPS63228341A (en) | Program syntax checking system |