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
Application number
JP1045760A
Other languages
English (en)
Other versions
JP2503632B2 (ja
Inventor
Takao 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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP1045760A priority Critical patent/JP2503632B2/ja
Publication of JPH02224134A publication Critical patent/JPH02224134A/ja
Application granted granted Critical
Publication of JP2503632B2 publication Critical patent/JP2503632B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は目的プログラム生成方式に関し、特にシンボリ
ックデバッグ機能を備えた計算機システムにおいて、シ
ンボリックデバッグ時に動的制御移行を可能とする目的
プログラム生成方式に関する。
(従来の技術) 従来のシンボリックデバッグ機能を備えた計算機システ
ムにおける目的プログラム生成方式では、原始プログラ
ムに記述された制御の流れを前提とした目的プログラム
を生成している。このため、データアクセス命令に対す
るアドレス解決用の目的プログラムは、原始プログラム
に記述された制御の流れにおいて制御の移行が無い範囲
の先頭等で共通に生成され、原始プログラムの命令単位
で独立な目的プログラムが生成されなかった。
(発明が解決しようとする課題) 上述のような従来の目的プログラム生成方式により生成
された目的プログラムについては、シンボリックデバッ
グ時に原始プログラムに予め記述されている制御の流れ
を無視した動的制御移行を行った場合、データアクセス
命令に対するアドレス解決の目的プログラムが原始プロ
グラムに予め記述された制御の流れを前提としているた
め、アドレス解決の目的プログラムが実行されずにデー
タアクセス命令を実行するという事態が発生し、プログ
ラムが異常終了または誤動作するという問題点がある。
従って、本発明の目的は、シンボリックデバッグ時に動
的制御移行を行った場合に異常終了または誤動作を起こ
さず正しく動作するような、原始プログラムの命令単位
に独立に動作可能な目的プログラムを生成することにあ
る。
(課題を解決するための手段) 本発明による目的プログラム生成方式は、原始プログラ
ムをシンボリックデバッグ可能な目的プログラムに変換
する目的プログラム生成処理において、 予め原始プログラムの命令単位の区切り情報および、原
始プログラムの各命令を目的プログラムの命令単位に変
換した中間命令群から成る中間コードを格納する第1の
記憶装置と; シンボリックデバッグを行うか否か、動的制御移行を行
うか否かの情報を格納する第2の記憶装置と; 前記第1の記憶装置から中間コードを入力する中間コー
ド入力手段と; 前記第2の記憶装置からシンボリックデバッグ情報を入
力するシンボリックデバッグ情報入力手段と; 前記中間コード入力手段により入力された中間コードを
解析する中間コード解析手段と:前記中間コード解析手
段で解析された個々の中間コードを目的プログラムに変
換するコード生成手段と; 前記コード生成手段で生成する目的プログラムのアドレ
ス部の評価アドレスおよび評価値の格納エリアの情報を
登録するアドレス解決情報テーブルと; 前記中間コード解析手段で解析した中間コードが原始プ
ログラムの命令の区切りで、かつ、前記シンボリックデ
バッグ情報入力手段で入力したシンボリックデバッグ情
報がシンボリックデバッグを行い、かつ、動的制御移行
を行うことを示す場合に前記アドレス解決情報テーブル
の内容を削除するアドレス解決情報テーブル削除手段と
:前記コード生成手段で生成される目的プログラムのア
ドレス部が、前記アドレス解決情報テーブルに既に登録
済みであれば登録されたアドレスを使用したアドレス解
決を行い、未登録であればアドレス評価用の目的プログ
ラムを生成し、アドレス解決を行い評価したアドレスの
格納エリアの情報および評価したアドレス情報を前記ア
ドレス解決情報テーブルに登録するアドレス解決手段と
を備える。
(実施例) 次に本発明について図面を参照して説明する。
第1図は本発明による目的プログラム生成方式の一実施
例の構成を示すブロック図である。
記憶装置1には予め原始プログラムの命令単位の区切り
情報および、原始プログラムの各命令を目的プログラム
の命令単位に変換した中間命令群から成る中間コード1
1が格納されており、記憶装置2には、シンボリックデ
バッグを行うか否か、動的制御移行を行うか否かのシン
ボリックデバッグ情報12が格納されている。
記・障装置1および2からは、中間コード11およびシ
ンボリックデバッグ情報12が中間コード入力手段3お
よびシンボリックデバッグ情報入力手段4を介して中間
コード解析手段5およびアドレス解決情報テーブル削除
手段8にそれぞれ入力されている。
中間コード解析手段5は入力された中間コードを解析し
、中間コード解析手段5で解析された個々の中間コード
は、コード生成手段6により目的プログラム10に変換
される。
アドレス解決情報テーブル7には、コード生成手段6で
生成された目的プログラム10のアドレス部の評価アド
レスおよび評価値の格納エリアの情報が登録されており
、アドレス解決情報テーブル削除手段8は、中間コード
解析手段5で解析された中間コードが、原始プログラム
の命令の区切りで、かつ、シンボリックデバッグ情報入
力手段4で入力したシンボリックデバッグ・m報12が
、シンボリックデバッグを行い、かつ、動的制御移行を
行うことを示す場合に、アドレス解決情報テーブル7の
内容を削除する。
アドレス解決手段9は、コード生成手段6で生成される
目的プログラムのアドレス部が、アドレス解決情報テー
ブル7に既に登録済みであれば、登録されたアドレスを
使用したアドレス解決を行い、未登録であればアドレス
評価用の目的プログラムを生成しアドレス解決を行い評
価したアドレスの格納エリアの情報および評価したアド
レス情報をアドレス解決情報テーブル7に登録する。
以下、本実施例における処理、動作を第2図の処理流れ
図を参照して説明する。
まず、記憶装置1から中間コード入力手段3を使用し中
間コードを1件入力する(ステップ21)と、中筒コー
ドの解析を行い(ステップ22)、入力した中間コード
が原始プログラム中の命令の区切りか否かの判定を行う
(ステップ23)、もしステップ23で入力した中間コ
ードが原始プログラム中の区切りを示す中間コードであ
ると判定すれば、記憶装置2に格納しであるシンボリッ
クデバッグ情報12をシンボリックデバッグ情報入力手
段4により入力し、シンボリックデバッグを行い、かつ
、動的制御移行を行うかを判定する(ステップ24)。
ステップ24でシンボリックデバッグを行わない、また
は、動的制御移行を行わないと判定すれば、ステップ2
1に戻り、次の中間コードを入力して処理をくり返す。
ステップ24でシンボリックデバッグを行い、かつ、動
的制御移行を行うと判定すればアドレス解決情報テーブ
ル削除手段8により、アドレス解決情報テーブル7上の
情報をすべて削除し、ステップ21に戻り、次の中間コ
ードの処理を行う(ステップ25)。
ステップ23で解析した中間コードが原始プログラムの
区切りを示す中間コードでなければ、中間コードに対応
する目的プログラムのオペレーションコード部を作成し
くステップ26)、同じく目的プログラムのアドレス部
を作成する(ステップ27)。
次に、ステップ27で作成した目的プログラムのアドレ
ス部がアドレス解決情報テーブル7上に存在するか否か
、つまり、既にアドレス評価を行う目的プログラムが生
成されているか否かを判定する(ステップ28)。ステ
ップ28において、既にアドレス評価用の目的プログラ
ムが生成されていると判定すれば、アドレス解決情報テ
ーブル7上の該当する評価アドレス格納エリア情報から
目的プログラムのアドレス部を作成し、目的プログラム
の作成(ステップ31)、目的グログラムの生成(ステ
ップ32)、以降中間コードの最終まで処理をくり返す
ステップ28でアドレス解決情報テーブル7に登録され
ていないと判定すれば、アドレス解決のための目的プロ
グラムを生成しくステップ29)、評価したアドレスの
情報およびアドレス評価値が格納されているエリアに対
する情報をアドレス解決情報テーブル7に登録しくステ
ップ30)、目的プログラムの作成を行い(ステップ3
1)、以降目的プログラムの作成を行い、目的プログラ
ムの生成処理をくり返す(ステップ32)。
ここでシンボリックデバッグ有で、かつ、動的制御移行
を行う場合には、ステップ25でアドレス解決情報テー
ブル7の情報をすべて削除しているなめ、ステップ28
ではアドレス解決情報テーブル7からは発見されず、ス
テラ129、ステップ30でアドレス解決用の目的プロ
グラムが生成される。また、ステップ25でのアドレス
解決情報テーブル7の削除処理はステップ23での判定
が中間コードが原始プログラムの命令の区切りの場合に
実行される。
以上よりシンボリックデバッグ情報がシンボリックデバ
ッグ有で、かつ、動的制御移行を行うことを示す場合に
は、原始プログラム中の命令単位で毎回アドレス解決の
目的プログラムが生成され、原始10グラムの命令単位
に独立に動作可能な目的プログラムを生成することがで
きる。
(発明の効果) 本発明によればシンボリックデバッグ時に動的制御移行
を行なった場合に異常終了または、誤動作せずに正しく
動作するような原始プログラムの命令単位で独立に動作
可能な目的70グラムを生成することができる。
【図面の簡単な説明】
第1図は本発明による目的プログラム生成方式の一実施
例の構成を示すブロック図、第2図は第1図に示す実施
例の動作を示す流れ図である。 1.2・・・記憶装置、11・・・中間コード、12・
・・シンボリックデバッグ情報、3・・・中間コード入
力手段、4・・・シンボリックデバッグ情報入力手段、
5・・・中間コード解析手段、6・・・コード生成手段
、7・・・アドレス解決情報テーブル、8・・・アドレ
ス解決情報テーブル削除手段、9・・・アドレス解決手
段、10・・・目的プログラム。

Claims (1)

  1. 【特許請求の範囲】 原始プログラムをシンボリックデバッグ可能な目的プロ
    グラムに変換する目的プログラム生成方式において、 予め原始プログラムの命令単位の区切り情報および、原
    始プログラムの各命令を目的プログラムの命令単位に変
    換した中間命令群から成る中間コードを格納する第1の
    記憶装置と; シンボリックデバッグを行うか否か、動的制御移行を行
    うか否かの情報を格納する第2の記憶装置と; 前記第1の記憶装置から中間コードを入力する中間コー
    ド入力手段と; 前記第2の記憶装置からシンボリックデバッグ情報を入
    力するシンボリックデバッグ情報入力手段と; 前記中間コード入力手段により入力された中間コードを
    解析する中間コード解析手段と; 前記中間コード解析手段で解析された個々の中間コード
    を目的プログラムに変換するコード生成手段と; 前記コード生成手段で生成する目的プログラムのアドレ
    ス部の評価アドレスおよび評価値の格納エリアの情報を
    登録するアドレス解決情報テーブルと; 前記中間コード解析手段で解析した中間コードが原始プ
    ログラムの命令の区切りで、かつ、前記シンボリックデ
    バッグ情報入力手段で入力したシンボリックデバッグ情
    報がシンボリックデバッグを行い、かつ、動的制御移行
    を行うことを示す場合に前記アドレス解決情報テーブル
    の内容を削除するアドレス解決情報テーブル削除手段と
    ;前記コード生成手段で生成される目的プログラムのア
    ドレス部が、前記アドレス解決情報テーブルに既に登録
    済みであれば登録されたアドレスを使用したアドレス解
    決を行い、未登録であればアドレス評価用の目的プログ
    ラムを生成し、アドレス解決を行い評価したアドレスの
    格納エリアの情報および評価したアドレス情報を前記ア
    ドレス解決情報テーブルに登録するアドレス解決手段と
    を備えて成ることを特徴とする目的プログラム生成方式
JP1045760A 1989-02-27 1989-02-27 目的プログラム生成方式 Expired - Fee Related JP2503632B2 (ja)

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)

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