JPS6280739A - 関数型情報処理装置のデバツグ制御方式 - Google Patents

関数型情報処理装置のデバツグ制御方式

Info

Publication number
JPS6280739A
JPS6280739A JP60221464A JP22146485A JPS6280739A JP S6280739 A JPS6280739 A JP S6280739A JP 60221464 A JP60221464 A JP 60221464A JP 22146485 A JP22146485 A JP 22146485A JP S6280739 A JPS6280739 A JP S6280739A
Authority
JP
Japan
Prior art keywords
function
stack
frame
execution
debugging
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
JP60221464A
Other languages
English (en)
Inventor
Akira Yasusato
安里 彰
Haruo Akimoto
晴雄 秋元
Kiminori Sato
公則 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP60221464A priority Critical patent/JPS6280739A/ja
Publication of JPS6280739A publication Critical patent/JPS6280739A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 関数型言語によるプログラムのデバッグにおいて、任意
の関数位置で実行を停止させあるいは再開させるため、
特定関数のフレームを指定し、その実行、再開を制御で
きるようにする。
〔産業上の利用分野〕
本発明は、LISP等の関数型言語プログラムの処理を
行う情報処理装置に関するものであり。
特にマイクロプログラムを用いて関数処理を実行する情
報処理装置におけるデバッグ制御方式に関する。
〔従来の技術〕
LISP等の関数型言語を用いて記述されたプログラム
を処理するのに適するように構成された情報処理装置と
して、各関数をインタプリタ形式でマイクロプログラム
により実行する方式、のちのがある。
関数型言語プログラムでは、ある関数の処理に゛おいて
、さらに他の関数を呼び出すことができる。
一般に、これらはスタック上に関数フレームを設けて管
理される。
第3図に、関数F+(Fz)を処理する場合のスタック
の状態を示す。図中、30はスタック。
301および302は関数F1およびFtのフレーム。
31はフレームポインタである。
関数F、はその処理のために、さらに関数F。
の処理を必要とする。そのため、スタック30上に関数
F、の処理のために、フレーム301を獲得し1次に関
数Fzの処理のためにフレーム302を獲得する。関数
F、の処理が終了したとき、結果を関数F+に引き渡し
て、関数F:の関数フレームを解放する方法がとられる
このような関数の呼び出し関係(あるいはリスト構造)
は任意多重のレベルで設定されることができる。
スタック30上に設けられる関数フレームのアドレスは
、フレームポインタ31によって指定される。フレーム
ポインタ31には、実行段階にある関数フレームのアド
レスが設定される。
このような情報処理装置において、関数型言語のプログ
ラムをデバッグする場合、任意の関数位置を指定して実
行を停止あるいは実行を再開できることが望ましい。
従来の情報処理装置では、マイクロプログラムが格納さ
れている制御記憶(C3)に対してアドレスを指定し、
そのアドレス位置で実行を停止させるアドレスコンベア
ストップ機能が設けられている。しかし、インタプリタ
がマイクロプログラム化されている場合、どのLISP
関数を実行するときも同一のマイクロ命令が起動される
ため。
これを用いて途中にある特定関数の実行を任意に制御す
ることは容易ではなかった。
〔発明が解決しようとする問題点〕
従来の情報処理装置には、関数型言語を用いたプログラ
ムのデバッグを能率的に行わせるための適切な機能がそ
なえられていないため、プログラム開発に際して、デバ
ッグ作業のための時間が長くなり、また大きな労力負担
を強いられていた。
〔問題点を解決するための手段〕
本発明は、LISP等の関数型言語をスタック上にフレ
ーム展開して処理する際、フレームを特定する関数を表
すデータを利用して、高級言語レベルでの処理の中断、
再開を可能にするものである。
第1図に9本発明の原理的構成を示す。図において、l
は中央処理装置、10はスタック、11はフレームポイ
ンタ、12は比較部、 101.102は関数F ll
−1*  Fllのフレームを表す。
スタック10には、処理すべき一連の関数のフレームが
展開されており、フレームポインタ11には、スタック
10の先頭のフレーム102のアドレスが設定されてい
る。
比較部12の一方の入力には、デバッグ時に。
実行を停止したい関数のデータが与えられ、また他方の
入力には、スタック10の実行段階にある先頭のフレー
ム102から読み出される関数(図示の例ではF、)の
データが与えられる。
比較部12は、2つの入力データが一致したとき停止信
号を出力する。これにより、中央処理装置lはプログラ
ムの実行を停止、すなわち処理を中断する。
〔作用〕
本発明によれば、関数型言語を用いたプログラムのデバ
ッグ時に、任意の関数を指定することにより、走行中の
プログラムを任意の位置で停止させ、さらにはその位置
から再開させることができ。
高級言語レベルでのデバッグ制御を可能にする。
〔実施例〕
第2図に本発明の1実施例の構成を示す。図中。
1は中央処理装置(CPU)、2はサービスプロセッサ
(SVP)、10はスタック、11はフレームポインタ
、12は比較部、13は関数データ指定レジスタ、14
は制御部を表す。
デバッグ時に、サービスプロセッサ(SVP)2は、デ
バッグ操作用の監視装置として使用される。中央処理装
置(CPU)1は、サービスプロセッサ(SVP)2か
らの操作信号により動作を制御され、所定の状態信号お
よびデータをサービスプロセッサ(SVP)2に出力す
る。
なお、中央処理装置(CPU)1内に示されている構成
は、簡単化のため、デバッグ時に本発明に関連する要素
のみを取り出して示してあり2通常動作時に必要となる
部分は、全て省略しである。
関数データ指定レジスタ13には、サービスプロセッサ
(SVP)2から、実行を停止させたいすなわち処理を
中断したい関数のデータが設定される。
制御部14は、マイクロプログラムにより動作する制御
機構であり、スタック10.フレームポインタ11.比
較部12の動作は、制御部14からの制御に基づいて行
われる。
デバッグ処理中、オペレータは、ある特定の関数位置で
処理を中断したい場合、関数データ指定レジスタ13に
、停止位置の関数を示すデータを設定し、同時に制御部
14をフレームポインタ停止モードに設定する。
制御部14は、フレームポインタ停止モードを設定され
たとき、スタック10に展開されている各フレームの関
数の処理状態を監視する。すなわち、フレームポインタ
11の値が変化する度に。
フレームポインタ11によって指示されるフレーム内の
関数のデータを読み出し、これを比較部12により、関
数データ指定レジスタ13に設定されている関数データ
と比較させる。そして一致が得られたとき、5TOP信
号をサービスプロセッサ(SVP)2に発信し、処理を
中断させる制御を行わせるものである。
これにより、関数データ指定レジスタ13に予め設定さ
れている関数データと一致する関数を含むスタックlO
内の最初のフレームにおいて、関数の実行は停止される
〔発明の効果〕
本発明によれば、関数を用いた高級言語レベルでのデバ
ッグ制御を直接的に行うことができるため、効率のよい
デバッグ環境が実現される。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2図は本発明の1実
施例の構成図、第3図は関数型言語のプログラム処理に
用いられるスタックの説明図である。 第1図中。 1:中央処理装置(CPU) 10ニスタツク 11:フレームポインタ 12:比較部

Claims (1)

  1. 【特許請求の範囲】 関数型言語を用いたプログラムを処理するため、スタッ
    ク上に関数のフレームを展開し、マイクロプログラム制
    御により実行する関数型情報処理装置において、 スタック(10)上の関数のフレームの関数に対応する
    データと、予め指定した特定の関数の関数に対応するデ
    ータとを比較する比較部(12)を設け、 特定の関数の実行時に上記比較部(12)が一致を検出
    することに応じて、処理の中断あるいは再開を可能にす
    ることを特徴とする関数型情報処理装置のデバッグ制御
    方式。
JP60221464A 1985-10-04 1985-10-04 関数型情報処理装置のデバツグ制御方式 Pending JPS6280739A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60221464A JPS6280739A (ja) 1985-10-04 1985-10-04 関数型情報処理装置のデバツグ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60221464A JPS6280739A (ja) 1985-10-04 1985-10-04 関数型情報処理装置のデバツグ制御方式

Publications (1)

Publication Number Publication Date
JPS6280739A true JPS6280739A (ja) 1987-04-14

Family

ID=16767125

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60221464A Pending JPS6280739A (ja) 1985-10-04 1985-10-04 関数型情報処理装置のデバツグ制御方式

Country Status (1)

Country Link
JP (1) JPS6280739A (ja)

Similar Documents

Publication Publication Date Title
JPH02156334A (ja) 情報処理装置
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JPS6280739A (ja) 関数型情報処理装置のデバツグ制御方式
JPH0552535B2 (ja)
JPH01205343A (ja) 電子計算機システムにおけるプロセスの中断再開方式
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JP3330767B2 (ja) 情報処理装置および情報処理装置におけるトレース取得方法
JPH0772874B2 (ja) 割込み受取り装置
JP2684966B2 (ja) 入出力処理装置のデバッグ装置
JPS61166631A (ja) マイクロプログラム制御処理方法
JPS61241843A (ja) 情報処理装置
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPS62107354A (ja) マイクロプログラム制御装置
JPS62113238A (ja) 電子計算機システムにおけるプログラム修正装置
JPH02103636A (ja) 付加演算装置
JPH0652482B2 (ja) シーケンスコントローラ
JPH03228145A (ja) Osのテスト方法
JPH01288931A (ja) Pl/iプログラムのデバック方式
JPS6349942A (ja) 演算処理装置
JPS61267137A (ja) 割込み動作制御方式
JPH07104781B2 (ja) マイクロプログラム制御方式
JPH08179958A (ja) 制御用電子装置
JPH04167032A (ja) プログラムデバツグ方式
JPS6091458A (ja) マイクロプロセツサのプログラムデバツグ装置
JPS629950B2 (ja)