JPS61229136A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPS61229136A
JPS61229136A JP60070007A JP7000785A JPS61229136A JP S61229136 A JPS61229136 A JP S61229136A JP 60070007 A JP60070007 A JP 60070007A JP 7000785 A JP7000785 A JP 7000785A JP S61229136 A JPS61229136 A JP S61229136A
Authority
JP
Japan
Prior art keywords
program
intermediate code
executed
execution
flag
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
JP60070007A
Other languages
English (en)
Inventor
Akira Takigami
滝上 明
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP60070007A priority Critical patent/JPS61229136A/ja
Publication of JPS61229136A publication Critical patent/JPS61229136A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明は情報処理のための手続プログラムを翻訳し、実
行する情報処理装置に関する。
L開示の概要] 本明細書及び図面は、情報処理のための手続プログラム
を翻訳し、実行する情報処理装置において、手続プログ
ラムを翻訳する際に、各手続に対応した翻訳後のコード
の一部にフラグ領域を設けて、翻訳後の手続プログラム
の実行時に、実行された手続のみのフラグを実行された
事を示すように変更する事により、情報処理のための手
続プログラムの検証を容易にする技術を開示する。
1従来の技術j 従来よりプログラムのテスト方法はいろいろあるが、そ
れらは主にそのテストにより実際に実行された手続のみ
の正当性を検証するものである。
従って、その正当性の程度はテストの態様又は入力され
るテストデータの多様さに依存する事となる。即ち、プ
ログラムの中で実際に実行された部分のみその正当性を
ある程度保証される事になるから、実行されていない部
分を実行させるようなテストデータが必要となる。従来
は、プログラムの作成者が自己のプログラムに基すいて
、このテストデータならばこのルーチンを通るであろう
との仮定からテストデータを数多く作成し、ある程度の
蚊をこなせば、一応誤りはないであろうとの推定のもと
にデパグを終了していた。つまり、実際に問題のルーチ
ンが実行されたかをプログラム作成者に示すものではな
かった。
し発明が解決しようとする問題点J 本発明は丑記従来例の欠点に鑑みてなされたもので、そ
の課題は作成された手続プログラムのテストを確実なら
しむる情報処理装置を提供するものである。
L問題点を解決するための手段】 上記課題を達成するための一手段として、例えばWI1
図(a)に示す実施颯の情報処理装置100は、情報処
理のための手続を記述したソースプログラム101をコ
ード104に翻訳する翻訳手段102、翻訳されたコー
ド104を解釈実行する解釈実行103とを有し、更に
翻訳されたコードを一時的に記憶する記憶手段104を
外部又は内部にもつ。
E作用」 上記構成の作用を説明すると、ソースプログラム101
は第1図(b)のようにライン番号107をもつソース
ステートメント108を翻訳手段102はライン番号ヲ
含むポインタ109、命令110、オペランドl l 
l、実行/未実行フラグ106からなるコード105の
列に翻訳して記憶手段104に記憶し、解釈実行手段1
03はコード105を実際に実行するとその実行/未実
行フラグ106をセットするというものである。
[実施例」 以下、添付図面に従って本発明に係る実施例を詳細に説
明する。
第2図は実施例の情報処理装置における色々なプログラ
ム及びそれらのプログラムを実行する演算制御装置lと
の関係を表わす。本実施例はとくにパーソナルコンピュ
ータのインクプリンタシステムの例で、図中のプログラ
ム中オペレーティングシステム2及びインタプリタプロ
グラム3と演算制御装置との組合せで第1図(a)の翻
訳手段102及び解釈実行手段103とを構成し、おな
しく第1図(a)のコーF105はいわゆる中間コード
して翻訳される0図中の各プログラムについて説明する
と、2はオペレーティングシステムでシステム資源の制
御、プログラムの実行管理、データ管理などを行なう基
本ソフトウェアである。3はインタプリタプログラムで
、例えばBASIC、PASCAL等の高級言語で記述
されたプログラムを解釈して中間コードに変換し、変換
された中間コードを解釈して手続プログラムを実行する
機能を有する。即ち、インタプリタプログラム3は入力
されたプログラムをソースプログラム領域5に格納して
いくと共に、変数領域7を作成しながら中間コードプロ
グラムを生成して中間コードプログラム領域6に格納す
るという従来の機能に加えて、第4図(a)、(b)の
如きフローチャートの制御手順をもつ本実施例に特徴的
な機能を有している。デパグモードフラグ8は当該実施
例のテスト機能を作動させるか否かを指示するフラグで
、その指示入力は例えば不図示のキーボード等の入力手
段から行なう、4の未実行ライン番号表示プログラムは
中間コードからなるプログラムを実行後に作動されるプ
ログラムで、実行/未実行フラグlO6が′0”である
中間コードのライン番号又はポインタ109を出力させ
るものであり、詳細については第4図(C)に示されて
いる。
第4図(a)はソースステートメントを1ラインずつ入
力し中間コードを作成するインタプリタプログラム3の
本実施例に係る制御手順の部分を示したものである。先
ず、ステップ520で入力したソースプログラムの1つ
のステートメントをステップS22でソースプログラム
領域5に格納する。ステップS24でデパグモードフラ
グ8がセット(”1”)しているか調べる。セットして
いれば操作者が当該テスト機能の使用を欲しているので
あるから、ステップS26で中間コード及び実行/未実
行フラグ106を作成し、デバグモードフラグ8がセッ
トしていなければステップS2Bで中間コードのみを作
成し、ステップS30に進みステップS30でそれらを
中間コードプログラム領域に格納する。もちろん、この
時必要な作業変数の変数領域の作成も同時に行なわれる
。J:記の処理を全プログラムの入力終了まで繰返す。
第4図(b)は中間コードの実行プログラムである0通
常は、いわゆる’ RUN”コマンドの指示で起動され
る。先ず、ステップ340で中間コードプログラム領域
6から中間コードの先頭命令をフェッチする0次にステ
ップ342でフェッチした中間コードを実行する。その
実行が終了したら、ステップS44でデバグモードフラ
グ8がセットされているか調べる。セットされていなけ
ればステップ350に進み1次の中間コードをフェッチ
する。デバグモードフラグ8がセットされていれば、ス
テップ346でその中間コードが実行/未実行フラグ付
で作成されているかを調べ、作成されていなければステ
ップS50へ進み、次の中間コードをフェッチし、実行
/未実行フラグ付で作成されていればステップ348で
実行/未実行フラグ106を” t ”にセットして、
ステップ550に進む、ステップS50では次の中間コ
ードをフェッチし、その中間コードがEX口命令か調べ
る。 END命令でなければステップ342へ戻り、上
記処理を繰返す、フェッチした中間コードがEND命令
であるならば、ステップS54へ進む、ステップS54
ではデバグモードフラグ8がセットされているかを調べ
、セットされていれば未実行ライン表示プログラム4を
実行する。デバグモードフラグ8がセットされていなけ
れば中間コード要行処理、即ち手続プログラムの実行を
終了する。
第4図(C)は未実行ライン表示プログラム4のフロー
チャートである。このプログラムは機械語等のオブジェ
クトコード又は中間コードで記述されていよう、先ず、
ステップ360で直前まで実行していたプログラムの最
初のラインの中間コードを中間コードプログラム領域6
から読み出し、ステップ562で、その中間コードの実
行/未実行フラグ106が“0″であるかを調べる。
このフラグが0゛°である時のみ、そのライン番号を不
図示の出力手段に出力する(ステップ564)、即ち、
実行されていない中間コードのライン番号を出力する0
次にステップS66で次の中間コードを読み出し、ステ
ップ368で全ラインを調べたかどうかを利足して、終
了していなければステップ362へ戻り、上記処理を繰
返す。
第3図にRASIC言語で記述された簡単なプログラム
の1例を示している。但し、第3図に示されたプログラ
ムは、いわゆるシンポリンクプログラムの形態で表示し
である。つまり、インタプリタプログラム3により中間
コードに変換されると。
予約語などがコード化されて中間コードプログラム領域
7に格納されるわけであるが、第3図のでは説明を[1
にするために、83図のプログラムがソースプログラム
であると同時に中間コードであり、それに実行/未実行
フラグ106が付加されている。
!@3図のプログラムが実行に移されると、まずインタ
プリタプログラムは各中間コード行の実行/未実行フラ
グ106を′″Onにしておく、そして行ナンバ“10
″の行を解釈、実行する。
そして操作者がある値を入力すると(この例では50′
とする)10行目の実行/未実行フラグ13を” l 
”にする、そして20行目を解釈、実行し20行目の実
行/未実行フラグ13を“l”にする、今は、Aには°
゛50”が入っているのでインタプリタプログラム3は
50行目を解釈、実行し50行目の実行/未実行フラグ
106を′l″にする。そして不図示の出力装置に“A
 is8 i g ”と出力し、60行目を解釈、実行
し、60行目の実行/未実行フラグ13を°°1゛にす
る。
END命令で終了すると、未実行ライン表示プログラム
4に制御を移し、この表示プログラムが10行目より順
に実行/未実行フラグ106を調べてフラグが0“の行
を不図示の表示装置に出力する。この例では30行と4
0行のフラグが“O″のままであるから、30行と40
行が表示される。そこで操作者は再度、第3図のプログ
ラムを1動かせ、今度は10°′より小さい数を入力す
ることで、°”A IS SMALL″′と表示させる
。これで、30行と40行も実行させた事になる。即ち
、このプログラムの全てのバスを通過したことになる。
この時に未実行ライン表示プログラム4を起動すると表
示されるライン番号は無いであろう。
こうして、容易にかつ確実にプログラム作成者は全手続
をテストした事がわかる。つまり、プログラムの作成者
は、いろいろなテストデータ、テスドパターンをプログ
ラムに入力しながら、それらのデータ又はバタンにより
プログラムの全ステップが実行されたか容易確実に確認
できる事になる。
尚、上記実施例では、1つのソースステーメントが1つ
の中間コードに対応していた言語(例えばBASICや
PASGAL言語)を例として説明したが、1つのソー
スステートメントが複数の中間コードに変換される場合
であっても、第1図(b)のポインタ109のような態
様にして、それらの中間コードのポインタとソースプロ
グラムのライン番号とを対応取らせ、未実行ライン表示
プログラムにポインタとライン番号を出力させるように
゛すれば、上記効果は期待できる。
[発明の効果J 以上、説明したように1本発明によれば作成したプログ
ラムの検証の容易性が保証される。
【図面の簡単な説明】
第1図(a)は基本実施例の構成概念図、第1図(b)
は第1図(a)の実施例におけるコード作成方法を示し
た図、 第2図は実施例における構成要素の関連図、第3図はテ
ストされるプログラムの1例の図5第4図(a)、(b
)、(c)は本要施例にかかる制御手順のフローチャー
トである。 特許出願人   キャノン株式会社 第2′gA 第3図 第4図(0) 中間コードの作威・

Claims (2)

    【特許請求の範囲】
  1. (1)情報処理のための手続を記述したソースプログラ
    ムを中間コードに翻訳するプログラム翻訳手段と、前記
    中間コードを解釈実行する実行手段とを有し、前記翻訳
    手段は中間コードの一部に、ソースプログラムと翻訳さ
    れた中間コードとの対応を示す識別コード及びフラグ領
    域を設けて中間コードに翻訳し、前記実行手段は実行時
    に実行された中間コードの前記フラグ領域に実行された
    事を示す情報を格納する事を特徴とする情報処理装置。
  2. (2)更に出力手段を備え、該出力手段はフラグ領域が
    実行された事を示さない情報をもつ中間コードに対応す
    る識別コードを出力する事を特徴とする特許請求の範囲
    第1項に記載の情報処理装置。
JP60070007A 1985-04-04 1985-04-04 情報処理装置 Pending JPS61229136A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60070007A JPS61229136A (ja) 1985-04-04 1985-04-04 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60070007A JPS61229136A (ja) 1985-04-04 1985-04-04 情報処理装置

Publications (1)

Publication Number Publication Date
JPS61229136A true JPS61229136A (ja) 1986-10-13

Family

ID=13419112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60070007A Pending JPS61229136A (ja) 1985-04-04 1985-04-04 情報処理装置

Country Status (1)

Country Link
JP (1) JPS61229136A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01257912A (ja) * 1988-04-08 1989-10-16 Fuji Xerox Co Ltd 画像記録装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01257912A (ja) * 1988-04-08 1989-10-16 Fuji Xerox Co Ltd 画像記録装置

Similar Documents

Publication Publication Date Title
EP0532744B1 (en) Improved software debugging system and method especially adapted for code debugging within a multi-architecture environment
US6877155B1 (en) System and method for generating target language code utilizing an object oriented code generator
JP2795244B2 (ja) プログラムデバッグシステム
US7266809B2 (en) Software debugger and software development support system for microcomputer operable to execute conditional execution instruction
Carter et al. Symbolic simulation for correct machine design
US5680584A (en) Simulator system for code execution and debugging within a multi-architecture environment
JPH07295859A (ja) プログラムの動的特性の決定
Davidson et al. An overview of firmware engineering
US20040064267A1 (en) Method and apparatus for testing microarchitectural features by using tests written in microcode
Joyner Jr et al. Automated proofs of microprogram correctness
JPS61229136A (ja) 情報処理装置
US11256479B2 (en) Dynamic updates in an interactive programming environment
Stepney Incremental development of a high integrity compiler: experience from an industrial development
Davidson High level microprogramming: current usage, future prospects
Lyle et al. Using the unravel program slicing tool to evaluate high integrity software
Dasgupta et al. The use of Hoare logic in the verification of horizontal microprograms
JPH07295612A (ja) 高級言語シーケンス命令プログラム生成装置および汎用シーケンサ
Dolotta et al. The LEAP load and test driver
JPS58169637A (ja) コンパイル処理方式
JPH04358232A (ja) 情報処理装置の機能試験方法
JPH06324883A (ja) Cpuシミュレータ
Eracar et al. Test scripting—An alternative approach to realtime instrument control
JPH0367340A (ja) シミュレータ
JP2006350676A (ja) 組込みシステムのプログラムデバッグ方法
Morton New Laboratory Tools and Techniques for Embedded Microcontrollers