JPH02224134A - 目的プログラム生成方式 - Google Patents
目的プログラム生成方式Info
- Publication number
- JPH02224134A JPH02224134A JP1045760A JP4576089A JPH02224134A JP H02224134 A JPH02224134 A JP H02224134A JP 1045760 A JP1045760 A JP 1045760A JP 4576089 A JP4576089 A JP 4576089A JP H02224134 A JPH02224134 A JP H02224134A
- Authority
- JP
- Japan
- Prior art keywords
- address
- intermediate code
- information
- target program
- address resolution
- 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
- 238000011156 evaluation Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 abstract description 11
- 230000007257 malfunction Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000862969 Stella Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は目的プログラム生成方式に関し、特にシンボリ
ックデバッグ機能を備えた計算機システムにおいて、シ
ンボリックデバッグ時に動的制御移行を可能とする目的
プログラム生成方式に関する。
ックデバッグ機能を備えた計算機システムにおいて、シ
ンボリックデバッグ時に動的制御移行を可能とする目的
プログラム生成方式に関する。
(従来の技術)
従来のシンボリックデバッグ機能を備えた計算機システ
ムにおける目的プログラム生成方式では、原始プログラ
ムに記述された制御の流れを前提とした目的プログラム
を生成している。このため、データアクセス命令に対す
るアドレス解決用の目的プログラムは、原始プログラム
に記述された制御の流れにおいて制御の移行が無い範囲
の先頭等で共通に生成され、原始プログラムの命令単位
で独立な目的プログラムが生成されなかった。
ムにおける目的プログラム生成方式では、原始プログラ
ムに記述された制御の流れを前提とした目的プログラム
を生成している。このため、データアクセス命令に対す
るアドレス解決用の目的プログラムは、原始プログラム
に記述された制御の流れにおいて制御の移行が無い範囲
の先頭等で共通に生成され、原始プログラムの命令単位
で独立な目的プログラムが生成されなかった。
(発明が解決しようとする課題)
上述のような従来の目的プログラム生成方式により生成
された目的プログラムについては、シンボリックデバッ
グ時に原始プログラムに予め記述されている制御の流れ
を無視した動的制御移行を行った場合、データアクセス
命令に対するアドレス解決の目的プログラムが原始プロ
グラムに予め記述された制御の流れを前提としているた
め、アドレス解決の目的プログラムが実行されずにデー
タアクセス命令を実行するという事態が発生し、プログ
ラムが異常終了または誤動作するという問題点がある。
された目的プログラムについては、シンボリックデバッ
グ時に原始プログラムに予め記述されている制御の流れ
を無視した動的制御移行を行った場合、データアクセス
命令に対するアドレス解決の目的プログラムが原始プロ
グラムに予め記述された制御の流れを前提としているた
め、アドレス解決の目的プログラムが実行されずにデー
タアクセス命令を実行するという事態が発生し、プログ
ラムが異常終了または誤動作するという問題点がある。
従って、本発明の目的は、シンボリックデバッグ時に動
的制御移行を行った場合に異常終了または誤動作を起こ
さず正しく動作するような、原始プログラムの命令単位
に独立に動作可能な目的プログラムを生成することにあ
る。
的制御移行を行った場合に異常終了または誤動作を起こ
さず正しく動作するような、原始プログラムの命令単位
に独立に動作可能な目的プログラムを生成することにあ
る。
(課題を解決するための手段)
本発明による目的プログラム生成方式は、原始プログラ
ムをシンボリックデバッグ可能な目的プログラムに変換
する目的プログラム生成処理において、 予め原始プログラムの命令単位の区切り情報および、原
始プログラムの各命令を目的プログラムの命令単位に変
換した中間命令群から成る中間コードを格納する第1の
記憶装置と; シンボリックデバッグを行うか否か、動的制御移行を行
うか否かの情報を格納する第2の記憶装置と; 前記第1の記憶装置から中間コードを入力する中間コー
ド入力手段と; 前記第2の記憶装置からシンボリックデバッグ情報を入
力するシンボリックデバッグ情報入力手段と; 前記中間コード入力手段により入力された中間コードを
解析する中間コード解析手段と:前記中間コード解析手
段で解析された個々の中間コードを目的プログラムに変
換するコード生成手段と; 前記コード生成手段で生成する目的プログラムのアドレ
ス部の評価アドレスおよび評価値の格納エリアの情報を
登録するアドレス解決情報テーブルと; 前記中間コード解析手段で解析した中間コードが原始プ
ログラムの命令の区切りで、かつ、前記シンボリックデ
バッグ情報入力手段で入力したシンボリックデバッグ情
報がシンボリックデバッグを行い、かつ、動的制御移行
を行うことを示す場合に前記アドレス解決情報テーブル
の内容を削除するアドレス解決情報テーブル削除手段と
:前記コード生成手段で生成される目的プログラムのア
ドレス部が、前記アドレス解決情報テーブルに既に登録
済みであれば登録されたアドレスを使用したアドレス解
決を行い、未登録であればアドレス評価用の目的プログ
ラムを生成し、アドレス解決を行い評価したアドレスの
格納エリアの情報および評価したアドレス情報を前記ア
ドレス解決情報テーブルに登録するアドレス解決手段と
を備える。
ムをシンボリックデバッグ可能な目的プログラムに変換
する目的プログラム生成処理において、 予め原始プログラムの命令単位の区切り情報および、原
始プログラムの各命令を目的プログラムの命令単位に変
換した中間命令群から成る中間コードを格納する第1の
記憶装置と; シンボリックデバッグを行うか否か、動的制御移行を行
うか否かの情報を格納する第2の記憶装置と; 前記第1の記憶装置から中間コードを入力する中間コー
ド入力手段と; 前記第2の記憶装置からシンボリックデバッグ情報を入
力するシンボリックデバッグ情報入力手段と; 前記中間コード入力手段により入力された中間コードを
解析する中間コード解析手段と:前記中間コード解析手
段で解析された個々の中間コードを目的プログラムに変
換するコード生成手段と; 前記コード生成手段で生成する目的プログラムのアドレ
ス部の評価アドレスおよび評価値の格納エリアの情報を
登録するアドレス解決情報テーブルと; 前記中間コード解析手段で解析した中間コードが原始プ
ログラムの命令の区切りで、かつ、前記シンボリックデ
バッグ情報入力手段で入力したシンボリックデバッグ情
報がシンボリックデバッグを行い、かつ、動的制御移行
を行うことを示す場合に前記アドレス解決情報テーブル
の内容を削除するアドレス解決情報テーブル削除手段と
:前記コード生成手段で生成される目的プログラムのア
ドレス部が、前記アドレス解決情報テーブルに既に登録
済みであれば登録されたアドレスを使用したアドレス解
決を行い、未登録であればアドレス評価用の目的プログ
ラムを生成し、アドレス解決を行い評価したアドレスの
格納エリアの情報および評価したアドレス情報を前記ア
ドレス解決情報テーブルに登録するアドレス解決手段と
を備える。
(実施例)
次に本発明について図面を参照して説明する。
第1図は本発明による目的プログラム生成方式の一実施
例の構成を示すブロック図である。
例の構成を示すブロック図である。
記憶装置1には予め原始プログラムの命令単位の区切り
情報および、原始プログラムの各命令を目的プログラム
の命令単位に変換した中間命令群から成る中間コード1
1が格納されており、記憶装置2には、シンボリックデ
バッグを行うか否か、動的制御移行を行うか否かのシン
ボリックデバッグ情報12が格納されている。
情報および、原始プログラムの各命令を目的プログラム
の命令単位に変換した中間命令群から成る中間コード1
1が格納されており、記憶装置2には、シンボリックデ
バッグを行うか否か、動的制御移行を行うか否かのシン
ボリックデバッグ情報12が格納されている。
記・障装置1および2からは、中間コード11およびシ
ンボリックデバッグ情報12が中間コード入力手段3お
よびシンボリックデバッグ情報入力手段4を介して中間
コード解析手段5およびアドレス解決情報テーブル削除
手段8にそれぞれ入力されている。
ンボリックデバッグ情報12が中間コード入力手段3お
よびシンボリックデバッグ情報入力手段4を介して中間
コード解析手段5およびアドレス解決情報テーブル削除
手段8にそれぞれ入力されている。
中間コード解析手段5は入力された中間コードを解析し
、中間コード解析手段5で解析された個々の中間コード
は、コード生成手段6により目的プログラム10に変換
される。
、中間コード解析手段5で解析された個々の中間コード
は、コード生成手段6により目的プログラム10に変換
される。
アドレス解決情報テーブル7には、コード生成手段6で
生成された目的プログラム10のアドレス部の評価アド
レスおよび評価値の格納エリアの情報が登録されており
、アドレス解決情報テーブル削除手段8は、中間コード
解析手段5で解析された中間コードが、原始プログラム
の命令の区切りで、かつ、シンボリックデバッグ情報入
力手段4で入力したシンボリックデバッグ・m報12が
、シンボリックデバッグを行い、かつ、動的制御移行を
行うことを示す場合に、アドレス解決情報テーブル7の
内容を削除する。
生成された目的プログラム10のアドレス部の評価アド
レスおよび評価値の格納エリアの情報が登録されており
、アドレス解決情報テーブル削除手段8は、中間コード
解析手段5で解析された中間コードが、原始プログラム
の命令の区切りで、かつ、シンボリックデバッグ情報入
力手段4で入力したシンボリックデバッグ・m報12が
、シンボリックデバッグを行い、かつ、動的制御移行を
行うことを示す場合に、アドレス解決情報テーブル7の
内容を削除する。
アドレス解決手段9は、コード生成手段6で生成される
目的プログラムのアドレス部が、アドレス解決情報テー
ブル7に既に登録済みであれば、登録されたアドレスを
使用したアドレス解決を行い、未登録であればアドレス
評価用の目的プログラムを生成しアドレス解決を行い評
価したアドレスの格納エリアの情報および評価したアド
レス情報をアドレス解決情報テーブル7に登録する。
目的プログラムのアドレス部が、アドレス解決情報テー
ブル7に既に登録済みであれば、登録されたアドレスを
使用したアドレス解決を行い、未登録であればアドレス
評価用の目的プログラムを生成しアドレス解決を行い評
価したアドレスの格納エリアの情報および評価したアド
レス情報をアドレス解決情報テーブル7に登録する。
以下、本実施例における処理、動作を第2図の処理流れ
図を参照して説明する。
図を参照して説明する。
まず、記憶装置1から中間コード入力手段3を使用し中
間コードを1件入力する(ステップ21)と、中筒コー
ドの解析を行い(ステップ22)、入力した中間コード
が原始プログラム中の命令の区切りか否かの判定を行う
(ステップ23)、もしステップ23で入力した中間コ
ードが原始プログラム中の区切りを示す中間コードであ
ると判定すれば、記憶装置2に格納しであるシンボリッ
クデバッグ情報12をシンボリックデバッグ情報入力手
段4により入力し、シンボリックデバッグを行い、かつ
、動的制御移行を行うかを判定する(ステップ24)。
間コードを1件入力する(ステップ21)と、中筒コー
ドの解析を行い(ステップ22)、入力した中間コード
が原始プログラム中の命令の区切りか否かの判定を行う
(ステップ23)、もしステップ23で入力した中間コ
ードが原始プログラム中の区切りを示す中間コードであ
ると判定すれば、記憶装置2に格納しであるシンボリッ
クデバッグ情報12をシンボリックデバッグ情報入力手
段4により入力し、シンボリックデバッグを行い、かつ
、動的制御移行を行うかを判定する(ステップ24)。
ステップ24でシンボリックデバッグを行わない、また
は、動的制御移行を行わないと判定すれば、ステップ2
1に戻り、次の中間コードを入力して処理をくり返す。
は、動的制御移行を行わないと判定すれば、ステップ2
1に戻り、次の中間コードを入力して処理をくり返す。
ステップ24でシンボリックデバッグを行い、かつ、動
的制御移行を行うと判定すればアドレス解決情報テーブ
ル削除手段8により、アドレス解決情報テーブル7上の
情報をすべて削除し、ステップ21に戻り、次の中間コ
ードの処理を行う(ステップ25)。
的制御移行を行うと判定すればアドレス解決情報テーブ
ル削除手段8により、アドレス解決情報テーブル7上の
情報をすべて削除し、ステップ21に戻り、次の中間コ
ードの処理を行う(ステップ25)。
ステップ23で解析した中間コードが原始プログラムの
区切りを示す中間コードでなければ、中間コードに対応
する目的プログラムのオペレーションコード部を作成し
くステップ26)、同じく目的プログラムのアドレス部
を作成する(ステップ27)。
区切りを示す中間コードでなければ、中間コードに対応
する目的プログラムのオペレーションコード部を作成し
くステップ26)、同じく目的プログラムのアドレス部
を作成する(ステップ27)。
次に、ステップ27で作成した目的プログラムのアドレ
ス部がアドレス解決情報テーブル7上に存在するか否か
、つまり、既にアドレス評価を行う目的プログラムが生
成されているか否かを判定する(ステップ28)。ステ
ップ28において、既にアドレス評価用の目的プログラ
ムが生成されていると判定すれば、アドレス解決情報テ
ーブル7上の該当する評価アドレス格納エリア情報から
目的プログラムのアドレス部を作成し、目的プログラム
の作成(ステップ31)、目的グログラムの生成(ステ
ップ32)、以降中間コードの最終まで処理をくり返す
。
ス部がアドレス解決情報テーブル7上に存在するか否か
、つまり、既にアドレス評価を行う目的プログラムが生
成されているか否かを判定する(ステップ28)。ステ
ップ28において、既にアドレス評価用の目的プログラ
ムが生成されていると判定すれば、アドレス解決情報テ
ーブル7上の該当する評価アドレス格納エリア情報から
目的プログラムのアドレス部を作成し、目的プログラム
の作成(ステップ31)、目的グログラムの生成(ステ
ップ32)、以降中間コードの最終まで処理をくり返す
。
ステップ28でアドレス解決情報テーブル7に登録され
ていないと判定すれば、アドレス解決のための目的プロ
グラムを生成しくステップ29)、評価したアドレスの
情報およびアドレス評価値が格納されているエリアに対
する情報をアドレス解決情報テーブル7に登録しくステ
ップ30)、目的プログラムの作成を行い(ステップ3
1)、以降目的プログラムの作成を行い、目的プログラ
ムの生成処理をくり返す(ステップ32)。
ていないと判定すれば、アドレス解決のための目的プロ
グラムを生成しくステップ29)、評価したアドレスの
情報およびアドレス評価値が格納されているエリアに対
する情報をアドレス解決情報テーブル7に登録しくステ
ップ30)、目的プログラムの作成を行い(ステップ3
1)、以降目的プログラムの作成を行い、目的プログラ
ムの生成処理をくり返す(ステップ32)。
ここでシンボリックデバッグ有で、かつ、動的制御移行
を行う場合には、ステップ25でアドレス解決情報テー
ブル7の情報をすべて削除しているなめ、ステップ28
ではアドレス解決情報テーブル7からは発見されず、ス
テラ129、ステップ30でアドレス解決用の目的プロ
グラムが生成される。また、ステップ25でのアドレス
解決情報テーブル7の削除処理はステップ23での判定
が中間コードが原始プログラムの命令の区切りの場合に
実行される。
を行う場合には、ステップ25でアドレス解決情報テー
ブル7の情報をすべて削除しているなめ、ステップ28
ではアドレス解決情報テーブル7からは発見されず、ス
テラ129、ステップ30でアドレス解決用の目的プロ
グラムが生成される。また、ステップ25でのアドレス
解決情報テーブル7の削除処理はステップ23での判定
が中間コードが原始プログラムの命令の区切りの場合に
実行される。
以上よりシンボリックデバッグ情報がシンボリックデバ
ッグ有で、かつ、動的制御移行を行うことを示す場合に
は、原始プログラム中の命令単位で毎回アドレス解決の
目的プログラムが生成され、原始10グラムの命令単位
に独立に動作可能な目的プログラムを生成することがで
きる。
ッグ有で、かつ、動的制御移行を行うことを示す場合に
は、原始プログラム中の命令単位で毎回アドレス解決の
目的プログラムが生成され、原始10グラムの命令単位
に独立に動作可能な目的プログラムを生成することがで
きる。
(発明の効果)
本発明によればシンボリックデバッグ時に動的制御移行
を行なった場合に異常終了または、誤動作せずに正しく
動作するような原始プログラムの命令単位で独立に動作
可能な目的70グラムを生成することができる。
を行なった場合に異常終了または、誤動作せずに正しく
動作するような原始プログラムの命令単位で独立に動作
可能な目的70グラムを生成することができる。
第1図は本発明による目的プログラム生成方式の一実施
例の構成を示すブロック図、第2図は第1図に示す実施
例の動作を示す流れ図である。 1.2・・・記憶装置、11・・・中間コード、12・
・・シンボリックデバッグ情報、3・・・中間コード入
力手段、4・・・シンボリックデバッグ情報入力手段、
5・・・中間コード解析手段、6・・・コード生成手段
、7・・・アドレス解決情報テーブル、8・・・アドレ
ス解決情報テーブル削除手段、9・・・アドレス解決手
段、10・・・目的プログラム。
例の構成を示すブロック図、第2図は第1図に示す実施
例の動作を示す流れ図である。 1.2・・・記憶装置、11・・・中間コード、12・
・・シンボリックデバッグ情報、3・・・中間コード入
力手段、4・・・シンボリックデバッグ情報入力手段、
5・・・中間コード解析手段、6・・・コード生成手段
、7・・・アドレス解決情報テーブル、8・・・アドレ
ス解決情報テーブル削除手段、9・・・アドレス解決手
段、10・・・目的プログラム。
Claims (1)
- 【特許請求の範囲】 原始プログラムをシンボリックデバッグ可能な目的プロ
グラムに変換する目的プログラム生成方式において、 予め原始プログラムの命令単位の区切り情報および、原
始プログラムの各命令を目的プログラムの命令単位に変
換した中間命令群から成る中間コードを格納する第1の
記憶装置と; シンボリックデバッグを行うか否か、動的制御移行を行
うか否かの情報を格納する第2の記憶装置と; 前記第1の記憶装置から中間コードを入力する中間コー
ド入力手段と; 前記第2の記憶装置からシンボリックデバッグ情報を入
力するシンボリックデバッグ情報入力手段と; 前記中間コード入力手段により入力された中間コードを
解析する中間コード解析手段と; 前記中間コード解析手段で解析された個々の中間コード
を目的プログラムに変換するコード生成手段と; 前記コード生成手段で生成する目的プログラムのアドレ
ス部の評価アドレスおよび評価値の格納エリアの情報を
登録するアドレス解決情報テーブルと; 前記中間コード解析手段で解析した中間コードが原始プ
ログラムの命令の区切りで、かつ、前記シンボリックデ
バッグ情報入力手段で入力したシンボリックデバッグ情
報がシンボリックデバッグを行い、かつ、動的制御移行
を行うことを示す場合に前記アドレス解決情報テーブル
の内容を削除するアドレス解決情報テーブル削除手段と
;前記コード生成手段で生成される目的プログラムのア
ドレス部が、前記アドレス解決情報テーブルに既に登録
済みであれば登録されたアドレスを使用したアドレス解
決を行い、未登録であればアドレス評価用の目的プログ
ラムを生成し、アドレス解決を行い評価したアドレスの
格納エリアの情報および評価したアドレス情報を前記ア
ドレス解決情報テーブルに登録するアドレス解決手段と
を備えて成ることを特徴とする目的プログラム生成方式
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1045760A JP2503632B2 (ja) | 1989-02-27 | 1989-02-27 | 目的プログラム生成方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1045760A JP2503632B2 (ja) | 1989-02-27 | 1989-02-27 | 目的プログラム生成方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02224134A true JPH02224134A (ja) | 1990-09-06 |
| JP2503632B2 JP2503632B2 (ja) | 1996-06-05 |
Family
ID=12728253
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1045760A Expired - Fee Related JP2503632B2 (ja) | 1989-02-27 | 1989-02-27 | 目的プログラム生成方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2503632B2 (ja) |
-
1989
- 1989-02-27 JP JP1045760A patent/JP2503632B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2503632B2 (ja) | 1996-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1164478A2 (en) | Method and apparatus for resolving data references in generated code | |
| US6415436B1 (en) | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler | |
| US6330714B1 (en) | Method and computer program product for implementing redundant lock avoidance | |
| JPH0748182B2 (ja) | プログラム・エラー検出方法 | |
| JP2002532804A (ja) | ハイブリッドコンピュータプログラミング環境 | |
| Burkhardt | Generating test programs from syntax | |
| JPH02224134A (ja) | 目的プログラム生成方式 | |
| JP3328056B2 (ja) | 構文解析木からの情報抽出装置 | |
| JPS61213935A (ja) | 高級言語プログラムのデバック装置及びそのステップ方式 | |
| KR920010412B1 (ko) | 전전자 교환기 설치시 하드웨어 시험 프로그램의 터미널 출력지원방법 | |
| JPH02220145A (ja) | プログラムトレース方式 | |
| KR100231692B1 (ko) | Chill 디버깅 정보 생성방법 | |
| JPH03144832A (ja) | プリコンパイラ言語プログラムのシンボリックデバッグ装置 | |
| JPH05127945A (ja) | プログラム実行状況解析方式 | |
| JP2815178B2 (ja) | コンパイラ装置 | |
| JP2002073370A (ja) | デバッグ支援装置およびその装置によるデバッグ方法 | |
| JPH0244434A (ja) | 非シンボリックデバッガにおける疑似シンボリックデバッグ方式 | |
| JPH06242943A (ja) | ソースコードレベルデバッグ装置 | |
| JPH05204699A (ja) | デバッグ時識別子探索方式 | |
| JPH04367946A (ja) | デバッグ情報出力方式 | |
| JPH05298148A (ja) | ファイル作成装置 | |
| JPH04312130A (ja) | 言語処理プログラム | |
| JPS63163543A (ja) | 情報処理装置 | |
| JPH04177534A (ja) | 未定義名標エラー処理方式 | |
| JPH11194958A (ja) | プログラムテストシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |