JPS63300325A - 設定/参照クロスリファレンスリストの出力方式 - Google Patents
設定/参照クロスリファレンスリストの出力方式Info
- Publication number
- JPS63300325A JPS63300325A JP62133375A JP13337587A JPS63300325A JP S63300325 A JPS63300325 A JP S63300325A JP 62133375 A JP62133375 A JP 62133375A JP 13337587 A JP13337587 A JP 13337587A JP S63300325 A JPS63300325 A JP S63300325A
- Authority
- JP
- Japan
- Prior art keywords
- cross
- symbol
- information
- value
- definition
- 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
Links
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 241000862969 Stella Species 0.000 description 1
- 230000008676 import Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はコンノクイラ及びリンカに関し、特にプロクラ
ム間の設定/参照クロスリファレンスリストの出力方式
に関する。
ム間の設定/参照クロスリファレンスリストの出力方式
に関する。
(従来の技術)
従来、第4図に示すように、コンノ4イラは、ソース読
み込み部2.翻訳部3.データ部/コード部オブジェク
ト作成部4.及びオブジェクト書き込み部6を備えてお
シ、一方、リンカは、オブジェクト読み込み部8.オプ
ノエクトタイプ判定部9、オブジェクトリンク処理部1
0.シンボルリスト読み込み部22.未解決シンゴル情
報メモリ展開部23.ソート部13.及びリストイメー
ジ編集出力部24を備えている。
み込み部2.翻訳部3.データ部/コード部オブジェク
ト作成部4.及びオブジェクト書き込み部6を備えてお
シ、一方、リンカは、オブジェクト読み込み部8.オプ
ノエクトタイプ判定部9、オブジェクトリンク処理部1
0.シンボルリスト読み込み部22.未解決シンゴル情
報メモリ展開部23.ソート部13.及びリストイメー
ジ編集出力部24を備えている。
従来、クロスリファレンス情報として、コン1<?イラ
によるプログラム内のシンボルの定義及び参照金示す値
設定/値参照のクロスリファレンス情報が出力されてい
る。
によるプログラム内のシンボルの定義及び参照金示す値
設定/値参照のクロスリファレンス情報が出力されてい
る。
ところが、プログラム間に関しては、リンカがオプソエ
クト7に付随する未解決シンボルリスト20、及び外部
定義シンボルリスト21をシンボルリスト読み込み部2
2によって読み込み、未解決シンボル情報メモリ展開部
23によシフモリ1フ上でソート部13’に用いてソー
トする。そして、リストイメージ編集出力部24によっ
て外部定義シンボル情報とソートした未解決シンボル情
報とを合わせ、リンカクロスリファレンス18にクロス
リファレンス情報として出力していた。このため、外部
定義宣言したプログラム名と外部参照宣言しているプロ
グラム名のみが出力されている。
クト7に付随する未解決シンボルリスト20、及び外部
定義シンボルリスト21をシンボルリスト読み込み部2
2によって読み込み、未解決シンボル情報メモリ展開部
23によシフモリ1フ上でソート部13’に用いてソー
トする。そして、リストイメージ編集出力部24によっ
て外部定義シンボル情報とソートした未解決シンボル情
報とを合わせ、リンカクロスリファレンス18にクロス
リファレンス情報として出力していた。このため、外部
定義宣言したプログラム名と外部参照宣言しているプロ
グラム名のみが出力されている。
(発明が解決しようとする問題点)
ところで、上述した従来のリンカのクロスリファレンス
リスト出力方式の場合、未解決シンビルリスト及び外部
定義シンボルリスト全参照して出力するので各シンボル
に対し、シンボルを定義宣言しているプログラム名と、
シンボルを参照宣言しているプログラム名のみ全出力し
、各プログラム内の値設定/値参照の状態までを示す事
ができないという問題点がある。
リスト出力方式の場合、未解決シンビルリスト及び外部
定義シンボルリスト全参照して出力するので各シンボル
に対し、シンボルを定義宣言しているプログラム名と、
シンボルを参照宣言しているプログラム名のみ全出力し
、各プログラム内の値設定/値参照の状態までを示す事
ができないという問題点がある。
(問題点を解決するための手段)
本発明の設定/参照クロスリファレンスリスト出力方式
は、外部定義宣言あるいは外部参照宣言しているシンボ
ルに付き、シンボル名と外部定義あるいは参照宣言の種
別情報と、シンボルに対する値設定及び値参照の情報と
を備えるクロスリファレンスオブジェクトを生成するク
ロスリファレンスオブジェクト作成部が備えられたコン
/ぐイラと、上記のクロスリファレンスオブジェクト作
成部で作成された各クロスリファレンスオブジェクトの
各エントリより得られたシンボル名と外部定義あるいは
参照宣言の種別情報と、シンボルに対する値設定及び値
参照の情報とに外部シンボルの定義宣言あるいは参照宣
言したプログラム名を付加したクロスリファレンス情報
を作成して、クロ埋終了後、上記のクロスリファレンス
オブジェクト書き込み部により作成したクロスリファレ
ンス情報をシンボル名、シンボルに対する値設定及び値
参照との情報全キーとしてソート処理するソート部と、
上記のソート部によりソートしたクロスリファレンス情
報からシンボル名と、外部シンビルの定義宣言している
プログラムについてはプログラム名を、外部シンボルの
参照宣言しているゾログラムについてはプログラム名と
このシンボルたリンカとを有することを特徴としている
。
は、外部定義宣言あるいは外部参照宣言しているシンボ
ルに付き、シンボル名と外部定義あるいは参照宣言の種
別情報と、シンボルに対する値設定及び値参照の情報と
を備えるクロスリファレンスオブジェクトを生成するク
ロスリファレンスオブジェクト作成部が備えられたコン
/ぐイラと、上記のクロスリファレンスオブジェクト作
成部で作成された各クロスリファレンスオブジェクトの
各エントリより得られたシンボル名と外部定義あるいは
参照宣言の種別情報と、シンボルに対する値設定及び値
参照の情報とに外部シンボルの定義宣言あるいは参照宣
言したプログラム名を付加したクロスリファレンス情報
を作成して、クロ埋終了後、上記のクロスリファレンス
オブジェクト書き込み部により作成したクロスリファレ
ンス情報をシンボル名、シンボルに対する値設定及び値
参照との情報全キーとしてソート処理するソート部と、
上記のソート部によりソートしたクロスリファレンス情
報からシンボル名と、外部シンビルの定義宣言している
プログラムについてはプログラム名を、外部シンボルの
参照宣言しているゾログラムについてはプログラム名と
このシンボルたリンカとを有することを特徴としている
。
(実施例)
以下本発明について実施例によって説明する。
第1図を参照して、コンパイラはソース読み込み部2.
翻訳部3.データ部/コード部オブジェクト作成部4.
クロスリファレンスオブジェクト作成部5.及びオプソ
エクト書き込み部6を備えている。
翻訳部3.データ部/コード部オブジェクト作成部4.
クロスリファレンスオブジェクト作成部5.及びオプソ
エクト書き込み部6を備えている。
一方、リンカはオブジェクト読み込み部8.オプノエク
トタイプ判定部9.オブジェクトリンク処理部10.ク
ロスリファレンスオブジェクト書き込み部11.クロス
リファレンス情報メモリ展開部12.ソート部13.及
びリストイメージ編集出力部14を備えている。
トタイプ判定部9.オブジェクトリンク処理部10.ク
ロスリファレンスオブジェクト書き込み部11.クロス
リファレンス情報メモリ展開部12.ソート部13.及
びリストイメージ編集出力部14を備えている。
コンパイラのクロスリファンンス情報作成部5はクロス
リファレンスオブジェクト19を出力する。このクロス
リファレンスオブジェクト19はオブジェクトタイ7’
191.外部シンボル名192゜第3図にリンカのクロ
スリファレンスオブジェクト書き込み部11によって出
力されるクロスリファレンス情報23を示す。このクロ
スリファレンス情報203は外部シンボル名192.定
義/参照情報及び値設定/値参照状態情報193.及び
プログラム名231t−備えている。
リファレンスオブジェクト19を出力する。このクロス
リファレンスオブジェクト19はオブジェクトタイ7’
191.外部シンボル名192゜第3図にリンカのクロ
スリファレンスオブジェクト書き込み部11によって出
力されるクロスリファレンス情報23を示す。このクロ
スリファレンス情報203は外部シンボル名192.定
義/参照情報及び値設定/値参照状態情報193.及び
プログラム名231t−備えている。
矢に上述のコンパイラ及びリンカの動作について詳細に
説明する。
説明する。
第1図を参照して、コンteイラは、ソース読み込み部
2によりソース1を読み込み、翻訳部3により構文チェ
ック、及びシンボル解決等を行った後、データ部/コー
ド部オブジェクト作成部4によりオブジェクトの生成を
行う。この際オ外部シンボルの定義宣言あるいは参照宣
言を行っているオブジェクトがあると、その外部シンボ
ルについて、クロスリファレンスオブジェクト作成部5
によってクロスリファレンスに関する情報をクロスリフ
ァレンスオブジェクト19として作成し、オリンカはオ
ブジェクト読み込み部8によりオブジェクトを読み込み
、オブジェクトタイプ判定部9によってオブジェクトタ
イプを参照する。参照したオブジェクトタイプがクロス
リファレンスオブジェクト19にあると、オプソエクト
判定部9aクロスリファレンスオブジェクト書き込み部
11t−起動する。クロスリファレンスオブジェクト書
キ込み部11Fiクロスリファレンスオブジェクト19
からオブジェクトタイプ191を削除し。
2によりソース1を読み込み、翻訳部3により構文チェ
ック、及びシンボル解決等を行った後、データ部/コー
ド部オブジェクト作成部4によりオブジェクトの生成を
行う。この際オ外部シンボルの定義宣言あるいは参照宣
言を行っているオブジェクトがあると、その外部シンボ
ルについて、クロスリファレンスオブジェクト作成部5
によってクロスリファレンスに関する情報をクロスリフ
ァレンスオブジェクト19として作成し、オリンカはオ
ブジェクト読み込み部8によりオブジェクトを読み込み
、オブジェクトタイプ判定部9によってオブジェクトタ
イプを参照する。参照したオブジェクトタイプがクロス
リファレンスオブジェクト19にあると、オプソエクト
判定部9aクロスリファレンスオブジェクト書き込み部
11t−起動する。クロスリファレンスオブジェクト書
キ込み部11Fiクロスリファレンスオブジェクト19
からオブジェクトタイプ191を削除し。
プログラム名231を付加して、クロスリファレンス情
N23’i作成し、クロスリファレンスワークファイル
16へ書き出す。他のオブジェクトタイプのオブジェク
トレコードはオブジェクトリンク処理部lOによりリン
ク処理を行いロードユニット15を作成する。ロードユ
ニット15作成後。
N23’i作成し、クロスリファレンスワークファイル
16へ書き出す。他のオブジェクトタイプのオブジェク
トレコードはオブジェクトリンク処理部lOによりリン
ク処理を行いロードユニット15を作成する。ロードユ
ニット15作成後。
クロスリファレンス情報メモリ展開部12によってクロ
スリファレンスワークファイル16からクロスリファレ
ンス情報23を順次読み出しメモリ17上に展開する。
スリファレンスワークファイル16からクロスリファレ
ンス情報23を順次読み出しメモリ17上に展開する。
このメモリ17上のクロスリファレンス情報23をソー
ト部13により外部シンボル名192と定義/参照情報
及び値設定/値参照状態情報193の定義/参照情報ま
でをキーとしてソートする。第5図に示すようにソート
後のメモリ17上のクロスリファレンス情報23F!外
部シンボル名をアルファベット順に並へ、かつ同一外部
シンボル名の中では定義エントリを先頭とし、この定義
エントリに参照エントリが続いた状態となっている。第
6図に示すように、リストイメージ編集出力部14はク
ロスリファレンス情報エントリ読み込みステップ141
で、クロスリファレンス情報23を取り出し、定義/参
照判定ステラf143で定義と判定すると、シンボル名
・外部定義宣言グロダラム名セットステッグ144によ
って外部シンボル名192及びプログラム名231から
シンボル名及び外部定義宣言プログラム名を出力する。
ト部13により外部シンボル名192と定義/参照情報
及び値設定/値参照状態情報193の定義/参照情報ま
でをキーとしてソートする。第5図に示すようにソート
後のメモリ17上のクロスリファレンス情報23F!外
部シンボル名をアルファベット順に並へ、かつ同一外部
シンボル名の中では定義エントリを先頭とし、この定義
エントリに参照エントリが続いた状態となっている。第
6図に示すように、リストイメージ編集出力部14はク
ロスリファレンス情報エントリ読み込みステップ141
で、クロスリファレンス情報23を取り出し、定義/参
照判定ステラf143で定義と判定すると、シンボル名
・外部定義宣言グロダラム名セットステッグ144によ
って外部シンボル名192及びプログラム名231から
シンボル名及び外部定義宣言プログラム名を出力する。
定義/参照判定ステップ143によシ参照と判定すると
、プログラム名判定ステップ145で新らたなプログラ
ム名と判定した場合のみ外部参照宣言プログラム名セッ
トステップ146でプログラム名を出力し、参照フラッ
グ判定ステップ147でステータス193から値設定/
値参照の状態を判定しプログラム名毎にまとめて出力す
る。この動作をシンボル名単位に繰り返えし終了判定ス
テップ142により全クロスリファレンス情報23につ
いて処理が終了したと判定しリストイメージ出力処理を
終了する。
、プログラム名判定ステップ145で新らたなプログラ
ム名と判定した場合のみ外部参照宣言プログラム名セッ
トステップ146でプログラム名を出力し、参照フラッ
グ判定ステップ147でステータス193から値設定/
値参照の状態を判定しプログラム名毎にまとめて出力す
る。この動作をシンボル名単位に繰り返えし終了判定ス
テップ142により全クロスリファレンス情報23につ
いて処理が終了したと判定しリストイメージ出力処理を
終了する。
(発明の効果)
以上説明したように本発明では、リンクされるコンパイ
ルユニット間に跨る外部シンボルの定義/参照関係のみ
ならず参照について値設定/値参照情報までを出力する
ことができ、デバッグ効率及び保守性を向上させる効果
がある。
ルユニット間に跨る外部シンボルの定義/参照関係のみ
ならず参照について値設定/値参照情報までを出力する
ことができ、デバッグ効率及び保守性を向上させる効果
がある。
第1図は本発明による設定/参照クロスリファレンスリ
スト出力方式の一実施例を示すブロック図、第2図は本
発明で生成されるクロスリファレンスオブジェクトを示
す図、第3図は本発明で生成されるクロスリファレンス
情報を示す図、第4図は従来のクロスリファレンスリス
ト出力方式を示すブロック図、第5図はソート後におけ
るメモリ上のクロスリファレンス情報の格納状態を示す
図、第6図は本発明のリストイメージ編集出力部の動作
を説明するための流れ図である。 1・・・ソース、2・・・ソース読み込み部、3・・・
翻訳部、4・・・データ部/コード部オブジェクト作成
部。 5・・・クロスリファレンスオブジェクト作成部−s・
・・オブジェクト書き込み部、7・・・オブジェクトユ
ニット、8・・・オブジェクト読み込み部、9・・・オ
プソエクトクイグ判定部、10・・・オブジェクトリン
ク処W部、ti・・・クロスリファレンスオブジェクト
書き込み部、12・・・クロスリファレンス情報メモリ
展開部、13・・・ソート部、14・・・リストイメー
ジ編集出力部、15・・・ロードユニット、16・・・
クロスリファレンスワークファイル、17・・・メモリ
、18・・・リンカクロスリファレンスリスト。
スト出力方式の一実施例を示すブロック図、第2図は本
発明で生成されるクロスリファレンスオブジェクトを示
す図、第3図は本発明で生成されるクロスリファレンス
情報を示す図、第4図は従来のクロスリファレンスリス
ト出力方式を示すブロック図、第5図はソート後におけ
るメモリ上のクロスリファレンス情報の格納状態を示す
図、第6図は本発明のリストイメージ編集出力部の動作
を説明するための流れ図である。 1・・・ソース、2・・・ソース読み込み部、3・・・
翻訳部、4・・・データ部/コード部オブジェクト作成
部。 5・・・クロスリファレンスオブジェクト作成部−s・
・・オブジェクト書き込み部、7・・・オブジェクトユ
ニット、8・・・オブジェクト読み込み部、9・・・オ
プソエクトクイグ判定部、10・・・オブジェクトリン
ク処W部、ti・・・クロスリファレンスオブジェクト
書き込み部、12・・・クロスリファレンス情報メモリ
展開部、13・・・ソート部、14・・・リストイメー
ジ編集出力部、15・・・ロードユニット、16・・・
クロスリファレンスワークファイル、17・・・メモリ
、18・・・リンカクロスリファレンスリスト。
Claims (1)
- 1、外部定義・宣言あるいは外部参照宣言しているシン
ボルに付きシンボル名と、前記外部定義あるいは参照宣
言の種別情報と、前記シンボルに対する値設定及び値参
照の情報とを備えるクロスリファレンスオブジェクトを
生成するクロスリファレンスオブジェクト作成部が備え
られたコンパイラと、前記クロスリファレンスオブジェ
クト作成部で作成された各クロスリファレンスオブジェ
クトのエントリより得られたシンボル名と、前記外部定
義あるいは参照宣言の種別情報と、前記シンボルに対す
る値設定及び値参照の情報とに、外部シンボルの定義宣
言あるいは参照宣言したプログラム名を付加したクロス
リファレンス情報を作成して、クロスリファレンスワー
クファイルへ書き込むクロスリファレンスオブジェクト
書き込み部と、リンク処理終了後前記クロスリファレン
スオブジェクト書き込み部によって作成されたクロスリ
ファレンス情報をシンボル名とシンボルに対する値設定
と値参照との情報とをキーとしてソート処理するソート
部と、前記ソート部によりソートした前記クロスリファ
レンス情報からシンボル名及び外部シンボルの定義宣言
をしているプログラムについてはプログラム名を、外部
シンボルの参照宣言をしているプログラムについてはプ
ログラム名、該シンボルに対する値設定及び値参照の情
報を、リストに編集出力するリストイメージ編集出力部
とが備えられたリンカとを有する設定/参照クロスリフ
ァレンスリストの出力方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62133375A JPS63300325A (ja) | 1987-05-30 | 1987-05-30 | 設定/参照クロスリファレンスリストの出力方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62133375A JPS63300325A (ja) | 1987-05-30 | 1987-05-30 | 設定/参照クロスリファレンスリストの出力方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63300325A true JPS63300325A (ja) | 1988-12-07 |
Family
ID=15103261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62133375A Pending JPS63300325A (ja) | 1987-05-30 | 1987-05-30 | 設定/参照クロスリファレンスリストの出力方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63300325A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0495139A (ja) * | 1990-08-07 | 1992-03-27 | Nec Corp | 言語処理プログラムのクロスリファレンス出力方式 |
-
1987
- 1987-05-30 JP JP62133375A patent/JPS63300325A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0495139A (ja) * | 1990-08-07 | 1992-03-27 | Nec Corp | 言語処理プログラムのクロスリファレンス出力方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10507016A (ja) | ソフトウェア・コンパイル・ユニットを条件付きでコンパイルするシステム、方法およびコンパイラ・プリプロセッサ | |
JPS63300325A (ja) | 設定/参照クロスリファレンスリストの出力方式 | |
JPH02297284A (ja) | 文書処理システム | |
JP3181419B2 (ja) | プログラム開発成果物の管理方式 | |
JPH06110733A (ja) | プログラムのテストケース生成装置 | |
JPH02260045A (ja) | アプリケーション・トラブル・チェック方式 | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JPH05250210A (ja) | プログラムトレース方式 | |
JPH0736737A (ja) | テストデータ作成方法 | |
JPH1165837A (ja) | 外部ファイルデータのデータ例外検出方法及び外部ファイルデータのデータ例外検出プログラムを記録した記録媒体 | |
JPH10222405A (ja) | 可変レコードダンプ装置 | |
JP3192177B2 (ja) | オブジェクト処理装置 | |
JPH06103113A (ja) | 差分テストデバック支援方法 | |
JPH03102429A (ja) | ロードモジュール生成処理方式 | |
JPH01205332A (ja) | リンケージエディタ方式 | |
JPH01205331A (ja) | 大規模プログラムリンク方式 | |
JPH03186933A (ja) | 言語処理システムのシンボル処理方式 | |
JPH05265721A (ja) | 差分コンパイル方法および装置 | |
JPH04273326A (ja) | データ管理方式 | |
JPH10254710A (ja) | アセンブルリスト生成方式 | |
JPH08101771A (ja) | ソースプログラムの汎用チェックシステム | |
JPH0477960A (ja) | 帳票作成システムの制御方式 | |
JP2000200202A (ja) | アプリケ―ションプログラムのデバッグにおけるリンク処理方法及びそのシステム並びに情報記録媒体 | |
JPH05274126A (ja) | プログラム合成システム | |
JPS59128645A (ja) | 情報処理システム |