JPH03240837A - デバッグ情報生成装置 - Google Patents

デバッグ情報生成装置

Info

Publication number
JPH03240837A
JPH03240837A JP2037598A JP3759890A JPH03240837A JP H03240837 A JPH03240837 A JP H03240837A JP 2037598 A JP2037598 A JP 2037598A JP 3759890 A JP3759890 A JP 3759890A JP H03240837 A JPH03240837 A JP H03240837A
Authority
JP
Japan
Prior art keywords
source program
correspondence table
language
correspondence
object code
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
JP2037598A
Other languages
English (en)
Inventor
Tsugiichi Shibata
柴田 次一
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 JP2037598A priority Critical patent/JPH03240837A/ja
Publication of JPH03240837A publication Critical patent/JPH03240837A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置の言語処理システムに関し、特
にソースプログラムを翻訳して得たオブジェクトプログ
ラムをソースプログラムレヘルでデバッグする為に必要
なデバッグ情報を生成する装置に関する。
〔従来の技術〕 ソースプログラムを翻訳してオブジェクトコードの集ま
りであるオブジェクトプログラムを生成するコンパイラ
中に、ソースプログラムの行番号とオブジェクトコード
との対応関係を例えばソースプログラムの行番号とオブ
ジェクトコードのアドレスとを用いて示すオブジェクト
コード−行番号対応表を生成するデバッグ情報生成手段
を組み込み、得られたオブジェクトプログラムとオブジ
ェクトコード−行番号対応表とをリンクして実行可能な
ロードモジュールを生成し、デバッグ時にはオブジェク
トコード−行番号対応表に存在する行番号によってデバ
ッグ作業を行えるようにした技術が従来より提案されて
いる。
〔発明が解決しようとする課題〕
上述した従来の技術によって、デバッグ作業をソースプ
ログラムのレベルで進めることが可能となり、デバッグ
作業の効率を高めることができた。
しかし、それは利用者の作成したソースプログラムを直
接にコンパイラに入力してオブジェクトプログラムを得
る場合に限られ、利用者の作成したソースプログラムを
言語プロセッサに入力して上記コンパイラで入力可能な
ソースプログラムを生成するような言語処理システムで
は問題点が残されていた。
即ち、プログラムの構造化や記述性の向上のため構文規
則の改善を行った第1の言語で記述されたソースプログ
ラムを言語プロセッサに入力して上記コンパイラで人力
可能な第2の言語で記述されたソースプログラムを生成
し、これを上記コンパイラに入力してオブジェクトプロ
グラムを生成する言語処理システムでは、上記コンパイ
ラに組み込まれたデバッグ情報生成手段によって生成さ
れるオブジェクトコード−行番号対応表は言語プロセッ
サから出力された第2の言語で記述されたソースプログ
ラムの行番号とオブジェクトコードとの対応関係を示す
ため、そのままでは利用者の作成した第1の言語で記述
されたソースプログラムの行番号でデバッグ作業を進め
ることができない。この場合、利用者は作成したオリジ
ナルなソースプログラムの行番号と上記コンパイラの入
力ソースプログラムの行番号との対応関係を調べてデバ
ッグを進める必要があり、デバッグ作業が繁雑になると
いう問題点があった。また、同様な問題点は、利用者の
作成したオリジナルなソースプログラムのラベル名を使
用してデバッグ作業を行う場合にも生じていた。
そこで本発明の目的は、利用者に負担をかけずにオリジ
ナルなソースプログラムのレベルでデバッグ作業が行え
るようなデバッグ情報を生成する装置を提供することに
ある。
〔課題を解決するための手段〕
本発明は、第1の言語で記述された第1のソースプログ
ラムを入力して第2の言語で記述された第2のソースプ
ログラムを生成する言語プロセッサと、前記第2のソー
スプログラムを入力してオブジェクトコードの集まりで
あるオブジェクトプログラムを生成するコンパイラとを
含み、全体としては第1の言語のコンパイラとして動作
する言語処理システムにおけるデバッグ情報生成装置を
、オリジナルなソースプログラムの行番号でデバッグ作
業が行えるようなデバッグ情報を生成し得るようにする
ため、 前記言語プロセッサに設けられ、前記入力された第1の
ソースプログラムの行番号と前記生成された第2のソー
スプログラムの行番号との対応を示す行番号対応表を生
成する行番号対応表生成手段と、 前記コンパイラに設けられ、前記生成されたオブジェク
トコードと前記入力された第2のソースプログラムの行
番号との対応を示すオブジェクトコード−行番号対応表
を生成するデバッグ情報生成手段と、 前記コンパイラに設けられ、前記行番号対応表と前記オ
ブジェクトコード−行番号対応表とから、前記オブジェ
クトコードと前記第1のソースプログラムの行番号との
対応を示すオブジェクトコード−オリジナル行番号対応
表を生成するデバッグ情報変換手段とで構成している。
また、オリジナルなソースプログラムのラベル名でデバ
ッグ作業が行えるようなデバッグ情報を生成し得るよう
にするため、 前記言語プロセッサに設けられ、前記入力された第1の
ソースプログラムのラベル名と前記生成された第2のソ
ースプログラムのラベル名との対応を示すラベル名対応
表を生成するラベル名対応表生成手段と、 前記コンパイラに設けられ、前記生成されたオブジェク
トコードと前記入力された第2のソースプログラムのラ
ベル名との対応を示すオブジェクトコート−ラベル名対
応表を生成するデバッグ情報生成手段と、 前記コンパイラに設けられ、前記ラベル名対応表と前記
オブジェクトコードーラベル名対応表とから、前記オブ
ジェクトコードと前記第1のソースプログラムのラベル
名との対応を示すオブジェクトコードーオリジナルラベ
ル名対応表を生成するデバッグ情報変換手段とで構成し
ている。
〔作用〕
オリジナルなソースプログラムの行番号でデバッグ作業
が行えるようなデバッグ情報を生成する本発明のデバッ
グ情報生成装置においては、第1のソースプログラムか
ら第2のソースプログラムを生成する言語プロセッサに
設けられた行番号対応表生成手段が、第1のソースプロ
グラムの行番号と第2のソースプログラムの行番号との
対応を示す行番号対応表を生成し、次いで、第2のソー
スプログラムからオブジェクトプログラムを生成するコ
ンパイラに設けられたデバッグ情報生成手段が、その生
成されたオブジェクトコードと第2のソースプログラム
の行番号との対応を示すオブジェクトコード−行番号対
応表を生成し、次いで、同じくコンパイラに設けられた
デバッグ情報変換手段が、上記生成された2種類の対応
表から、オブジェクトコードとオリジナルな第1のソー
スプログラムの行番号との対応を示すオブジェクトコー
ドーオ゛Jジナル行番号対応表を生成する。
また、オ°Jジナルなソースプログラムのラベル名でデ
バッグ作業が行えるようなデバッグ情報を生成する本発
明のデバッグ情報生成装置においては、第1のソースプ
ログラムから第2のソースプログラムを生成する言語プ
ロセッサに設けられたラベル名対応表生成手段が、第1
のソースプログラムのラベル名と第2のソースプログラ
ムのラベル名との対応を示すラベル名対応表を生成し、
次いで、第2のソースプログラムからオブジェクトプロ
グラムを生成するコンパイラに設けられたデバッグ情報
生成手段が、その生成されたオブジェクトコードと第2
のソースプログラムのラベル名との対応を示すオブジェ
クトコート−ラベル名対応表を生成し、次いで、同じく
コンパイラに設けられたデバッグ情報変換手段が、上記
生成された2種類の対応表から、オブジェクトコードと
オリジナルな第1のソースプログラムのラベル名との対
応を示すオブジェクトコート−オリジナルラベル名対応
表を生成する。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に説
明する。
第1図を参照すると、本発明のデバッグ情報生成装置の
一実施例を組み込んだ言語処理システムlは、利用者に
よって作成され第1の言語で記述されたソースプログラ
ム7を読み込んで処理し、処理の過程で第2の言語で記
述されたソースプログラム81行番号対応表9.オブジ
ェクトコード−行番号対応表10を各々中間ファイルに
生成し、最終的にソースプログラム7に対応するオブジ
ェクトコードの集まりであるオブジェクトプログラム1
2とオブジェクトコード−オリジナル行番号対応表11
とを生成して出力する。このような言語処理システム1
は、第1の言語で記述されたソスプログラム7を入力し
て第2の言語で記述されたソースプログラム8を生成す
る言語プロセッサ3と、ソースプログラム8を入力して
オブジェクトプログラム12を生成するコンパイラ2と
から構成され、更に言語プロセッサ3中にソースプログ
ラム70行番号とソースプログラム8の行番号との対応
を示す行番号対応表9を生成する行番号対応表生成手段
4が組み込まれ、コンパイラ2中に、オブジェクトプロ
グラム12を構成するオブジェクトコードのアドレスと
ソースプログラム8の行番号との対応を示すオブジェク
トコード行番号対応表10を生成する既存のデバッグ情
報生成手段5と、行番号対応表9とオブジェクトコード
−行番号対応表10とから、オブジェクトプログラム1
2を構成するオブジェクトコードのアドレスとオリジナ
ルなソースプログラム7の行番号との対応を示すオブジ
ェクトコード−オリジナル行番号対応表11を生成する
デバッグ情報変換手段6が組み込まれている。
第1図に示した実施例の動作を説明すると、先ず言語プ
ロセッサ3は、第1の言語で記述されたソースプログラ
ム7を入力して、コンパイラ2が入力可能なソースプロ
グラム8を生成する。このとき言語プロセッサ3の中に
含まれる行番号対応表生成手段4がソースプログラム7
の行番号とソースプログラム8の行番号との対応をとり
、行番号対応表9を生成する。
言語プロセッサ3がソースプログラム7を全て入力し処
理を終了すると、コンパイラ2に制御が移される。
コンパイラ2はソースプログラム8を入力しオブジェク
トプログラム12を生成するが、このときコンパイラ2
に含まれるデバッグ情報生成手段5がオブジェクトコー
トのアドレスとソースプログラム8の行番号との対応を
とってオブジェクトコード−行番号対応表10を同時に
生成する。
オブジェクトプログラム12を全て生成した後、コンパ
イラ2はその中に含まれているデバッグ情報変換手段6
を呼び出す。
デバッグ情報変換手段6は、ソースプログラム7の行番
号とソースプログラム8の行番号との対応を示す行番号
対応表9およびソースプログラム80行番号とオブジェ
クトプログラム12を構成するオブジェクトコートのア
ドレスとの対応を示すオブジェクトコード−行番号対応
表10を入力5、利用者の作成したプログラムであるソ
ースプログラム7の行番号とオブジェクトプログラム1
2を構成するオブジェクトコードのアドレスとの対応を
示すオブジェクトコード−オリジナル行番号対応表11
を生成する。
このようにして生成されたオブジェクトプログラム12
とオブジェクトコード−オリジナル行番号対応表11は
リンカ(図示せず)によって実行可能なロードモジュー
ルとしてリンクされる。リンクされたロードモジュール
にはオブジェクトコード−オリジナル行番号対応表11
が含まれており、従来技術の項で説明したようにデバッ
グの際にはロードモジュール中に含まれる対応表に存在
する行番号によるデバッグが行えるため、本実施例では
利用者の作成したソースプログラム7の行番号によって
デバッグ作業が可能となる。
第2図は本発明の別の実施例の構成図である。
この実施例が第1図に示した実施例と相違するところは
、言語プロセッサ3に入力されたソースプログラム7の
ラベル名と言語プロセッサ3によって生成されたソース
プログラム8のラベル名との対応を示すラベル名対応表
22を生成するラベル名対応表生成手段21を言語プロ
セッサ3に設けると共に、入力されたソースプログラム
8のラベル名と生成したオブジェクトプログラム12を
構成するオブジェクトコードのアドレスとの対応を示す
オブジェクトコート−ラベル名対応表25を生成する既
存のデバッグ情報生成手段23と、上記の2つの対応表
22.25からオブジェクトプログラム12を構成する
オブジェクトコードのアドレスとオリジナルなソースプ
ログラム7のラベル名との対応を示すオブジェクトコー
ト−オリジナルラベル名対応表26を生成するデバッグ
情報変換手段24とを、コンパイラ2に設けた点ムこあ
る。この実施例によれば、最終的なデハ・ノブ情報とじ
てオブジェクトコート−オリジナルラベル名対応表26
が得られるため、利用者の作成したソースプログラム7
のラベル名によってデバッグ作業を行うことができる。
第3図は本発明の更に別の実施例の構成図であり、第1
図および第2図と同一符号は同一部分を示す。この実施
例は、第1図の行番号対応表生成手段4の機能と第2図
のラベル名対応表生成手段21の機能とを併せ持つ対応
表生成手段31を言語プロセッサ3に設け、第1図のデ
バッグ情報生成手段5の機能と第2図のデバッグ情報生
成手段23のII#I−とを併せ持つデバッグ情報生成
手段32と、第1図のデバッグ情報変換手段6の機能と
第2図のデバッグ情報変換手段24の機能とを併せ持つ
デバッグ情報変換手段33とをコンパイラ2に設けたも
のである。従って最終的なデバッグ情報として、オブジ
ェクトコード−オリジナル行番号対応表11とオブジェ
クトコート−オリジナルラベル名対応表26とを生成、
出力する。よって、利用者の作成したソースプログラム
7の行番号およびラベル名を使用してデバッグ作業を進
めることができる。
(発明の効果: 以上説明したように、本発明のデバッグ情報生成装置に
よれば、第1の言語のソースプログラムを第2の言語の
ソースプログラムに変換する言語プロセッサとその第2
の言語のソースプログラムを入力してオブジェクトプロ
グラムを生成するコンパイラとを含み全体としては第1
の言語のコンパイラとして動作する言語処理システムに
おいて、オブジェクトコードと第1の言語のソースプロ
グラムの行番号、ラベル名との対応を示す対応表をデバ
ッグ情報として生成することができるので、第1の言語
のソースプログラムと第2の言語のソースプログラムと
の間の行番号、ラベル名の対応を利用者がとる作業が不
要となり、プログラムデバッグ作業の効率化、利用者の
・負担軽減等が可能となる。
【図面の簡単な説明】
第1図;よ本発明の一実施例0構成図、第2図は本発明
の別の実施例の構成図および、第3図は本発明の更に別
O実施例の構成図であ6 図二二わいて、 l・・・言語処理システム 2・・コンパイラ 3・・・言語プロセッサ 4・・・行番号対応表生成手段 5.23.32・・・デバッグ情報生成手段6.24.
33・・・デバッグ情報変換手段7.8・・・ソースプ
ログラム 9・・・行番号対応表 IO・・・オブジェクトコード−行番号対応表11・・
・オブジェクトコード−オリジナル行番号対応表 12−一・オブジェクトプログラム 21・・・ラベル名対応表生成手段 22・・・ラベル名対応表 25・・・オブジェクトコート−ラベル名対応表26・
・−オブジェクトコート−オリジナルラベル名対応表 31・・・対応表生成手段

Claims (2)

    【特許請求の範囲】
  1. (1)第1の言語で記述された第1のソースプログラム
    を入力して第2の言語で記述された第2のソースプログ
    ラムを生成する言語プロセッサと、前記第2のソースプ
    ログラムを入力してオブジェクトコードの集まりである
    オブジェクトプログラムを生成するコンパイラとを含み
    、全体としては第1の言語のコンパイラとして動作する
    言語処理システムにおけるデバツグ情報生成装置におい
    て、前記言語プロセッサに設けられ、前記入力された第
    1のソースプログラムの行番号と前記生成された第2の
    ソースプログラムの行番号との対応を示す行番号対応表
    を生成する行番号対応表生成手段と、 前記コンパイラに設けられ、前記生成されたオブジェク
    トコードと前記入力された第2のソースプログラムの行
    番号との対応を示すオブジェクトコード−行番号対応表
    を生成するデバッグ情報生成手段と、 前記コンパイラに設けられ、前記行番号対応表と前記オ
    ブジェクトコード−行番号対応表とから、前記オブジェ
    クトコードと前記第1のソースプログラムの行番号との
    対応を示すオブジェクトコード−オリジナル行番号対応
    表を生成するデバッグ情報変換手段とを含むことを特徴
    とするデバッグ情報生成装置。
  2. (2)第1の言語で記述された第1のソースプログラム
    を入力して第2の言語で記述された第2のソースプログ
    ラムを生成する言語プロセッサと、前記第2のソースプ
    ログラムを入力してオブジェクトコードの集まりである
    オブジェクトプログラムを生成するコンパイラとを含み
    、全体としては第1の言語のコンパイラとして動作する
    言語処理システムにおけるデバツグ情報生成装置におい
    て、前記言語プロセッサに設けられ、前記入力された第
    1のソースプログラムのラベル名と前記生成された第2
    のソースプログラムのラベル名との対応を示すラベル名
    対応表を生成するラベル名対応表生成手段と、 前記コンパイラに設けられ、前記生成されたオブジェク
    トコードと前記入力された第2のソースプログラムのラ
    ベル名との対応を示すオブジェクトコート−ラベル名対
    応表を生成するデバッグ情報生成手段と、 前記コンパイラに設けられ、前記ラベル名対応表と前記
    オブジェクトコート−ラベル名対応表とから、前記オブ
    ジェクトコードと前記第1のソースプログラムのラベル
    名との対応を示すオブジェクトコート−オリジナルラベ
    ル名対応表を生成するデバツグ情報変換手段とを含むこ
    とを特徴とするデバツグ情報生成装置。
JP2037598A 1990-02-19 1990-02-19 デバッグ情報生成装置 Pending JPH03240837A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2037598A JPH03240837A (ja) 1990-02-19 1990-02-19 デバッグ情報生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2037598A JPH03240837A (ja) 1990-02-19 1990-02-19 デバッグ情報生成装置

Publications (1)

Publication Number Publication Date
JPH03240837A true JPH03240837A (ja) 1991-10-28

Family

ID=12502005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2037598A Pending JPH03240837A (ja) 1990-02-19 1990-02-19 デバッグ情報生成装置

Country Status (1)

Country Link
JP (1) JPH03240837A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002534735A (ja) * 1998-12-30 2002-10-15 マイクロソフト コーポレイション インタプリティブ・ランタイム環境のためのコンパイル・プログラムの生成
KR100417655B1 (ko) * 1996-06-28 2004-06-09 마츠시타 덴끼 산교 가부시키가이샤 최적화과정을참조하면서동작검증을행하도록디버그정보를생성하는디버그정보생성장치및프로그래머가최적화과정을의식하면서동작검증을할수있는디버그장치로이루어지는프로그램개발시스템
JP2007141173A (ja) * 2005-11-22 2007-06-07 Matsushita Electric Ind Co Ltd コンパイルシステム、デバッグシステムおよびプログラム開発システム
JP2014503902A (ja) * 2010-12-17 2014-02-13 マイクロソフト コーポレーション 異なるコンパイラステージからのデバッグ情報の融合

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100417655B1 (ko) * 1996-06-28 2004-06-09 마츠시타 덴끼 산교 가부시키가이샤 최적화과정을참조하면서동작검증을행하도록디버그정보를생성하는디버그정보생성장치및프로그래머가최적화과정을의식하면서동작검증을할수있는디버그장치로이루어지는프로그램개발시스템
JP2002534735A (ja) * 1998-12-30 2002-10-15 マイクロソフト コーポレイション インタプリティブ・ランタイム環境のためのコンパイル・プログラムの生成
JP2007141173A (ja) * 2005-11-22 2007-06-07 Matsushita Electric Ind Co Ltd コンパイルシステム、デバッグシステムおよびプログラム開発システム
JP2014503902A (ja) * 2010-12-17 2014-02-13 マイクロソフト コーポレーション 異なるコンパイラステージからのデバッグ情報の融合

Similar Documents

Publication Publication Date Title
JPH03240837A (ja) デバッグ情報生成装置
JPS5922140A (ja) 対話型コンパイル方式
JP3327674B2 (ja) プログラム翻訳装置及び方法
JPH10187461A (ja) 言語処理方式
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH03179529A (ja) 言語翻訳システム
JPH0358136A (ja) 文字コード系の異なるマシンでのコンパイラ動作方式
JPH02205930A (ja) インタフェースチェック処理方法
JPH01259424A (ja) ソフトウエア自動生成装置
JPH0390935A (ja) エキスパートシステム構築ツール
JPS5911448A (ja) 高級言語の構文チエツク方式
JPH01128136A (ja) コンパイル処理装置
JPH0417028A (ja) プログラム言語の翻訳編集方式
JPH0580991A (ja) コンピユータプログラム製造装置
JPH05165650A (ja) 機械語翻訳装置
JPH05233241A (ja) プログラム作成装置
JPH10207738A (ja) 言語処理システム
JPH06274351A (ja) コンパイラの最適化方式
JPS63184846A (ja) シンボリツクデバツガ
JPH0628159A (ja) リロケータブルオブジェクト統合方法、及びリンケージエディタ
JPH0546369A (ja) 機能部品オブジエクト互換方式
JPH0266631A (ja) 日本語名標による番地対応表出力方式
JPH01136239A (ja) プログラム翻訳処理方式
JPH0580998A (ja) 翻訳処理方式
JPH04181326A (ja) ソースプログラムのコンパイル方法