JPH02285424A - コンパイラの不要名標出力方式および不要名標削除方式 - Google Patents

コンパイラの不要名標出力方式および不要名標削除方式

Info

Publication number
JPH02285424A
JPH02285424A JP1105995A JP10599589A JPH02285424A JP H02285424 A JPH02285424 A JP H02285424A JP 1105995 A JP1105995 A JP 1105995A JP 10599589 A JP10599589 A JP 10599589A JP H02285424 A JPH02285424 A JP H02285424A
Authority
JP
Japan
Prior art keywords
unnecessary
names
source program
name
compiler
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
JP1105995A
Other languages
English (en)
Inventor
Yuzo Iida
飯田 雄三
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 JP1105995A priority Critical patent/JPH02285424A/ja
Publication of JPH02285424A publication Critical patent/JPH02285424A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンパイラの処理方式に関し、特にソースプロ
グラムの不要名標出力方式および不要名標削除方式に関
する。
〔従来の技術〕
従来のコンパイラでは、処理の一部としてソースプログ
ラム上で宣言されている名標(以下、宣言名標という)
と宣言名標の種々の情報とソースプログラム上で宣言名
標が宣言および参照されている行番号とをクロスリファ
レンスリストとして出力することができるようになって
いたが、ソースプログラム中での宣言名標の参照の有無
によらずにすべての宣言名標についてクロスリファレン
スリストを出力するようになっていた。
また、従来のコンパイラでは、ソースプログラムをコン
パイルする際に宣言だけで参照のない名標(以下、不要
名標という)をコンパイル対象としないようにするため
には、ソースプログラム中に明確に条件コンパイル等の
指示文を挿入しなければならなかった。
〔発明が解決しようとする課題〕
上述した従来のコンパイラでは、コンパイル単位間で共
通に使用するようないわゆる共通ブロック宣言内にある
名標でコンパイルにおいて参照されない不要名標があっ
てもすべての宣言名標についてクロスリファレンスリス
トを出力するようになっていたので、一般に多くの共通
ブロックを使用しコンパイル単位が多い場合に参照され
ない不要名標が数多く存在するにもかかわらず、不要名
標がクロスリファレンスリスト上に表れ、必要な情報と
不必要な情報とが混在して出力されるためにソースプロ
グラムの保守効率が低下するという欠点がある。
また、従来のコンパイラでは、コンパイル単位間で共通
に使用するようないわゆる共通ブロック宣言に多く見ら
れる宣言だけで参照のない不要名標をコンパイル対象と
しないためには条件コンパイル等の指示文をソースプロ
グラム上に明確に記述しなければならなかったので、条
件コンパイル等の指示文の記述が面倒であるばかりでな
く、条件コンパイル等の指示文の記述をしなかった場合
にはコンパイルに時間がかかってコンパイル速度の低下
を招くという欠点がある。
本発明の目的は、上述の点′に鑑み、ソースプログラム
中の不要名標からなる不要名標ファイルを出力するとと
もに、不要名標以外の宣言名標についてのみクロスリフ
ァレンスリストを出力するようにしたコンパイラの不要
名標出力方式を提供することにある。
また、本発明の他の目的は、ソースプログラム中の不要
名標を出力した不要名標ファイルを使用することにより
、不要名標をソースプログラムのコンパイル対象から外
してコンパイル速度を向上させるようにしたコンパイラ
の不要名標削除方式を提供することにある。
〔課題を解決するための手段〕
本発明のコンパイラの不要名標出力方式は、ソースプロ
グラムをコンパイルしてオブジェクトプログラムを生成
するコンパイラにおいて、ソースプログラム上で宣言さ
れている宣言名標と宣言名標の種々の宣言情報とソース
プログラム上で宣言名標が宣言および参照されている行
番号とからなるクロスリファレンスリストを出力するク
ロスリファレンス出力処理部と、このクロスリファレン
ス出力処理部に設けられソースプログラムから宣言だけ
で参照のない不要名標を抽出して不要名標ファイルに出
力する不要名標出力手段とを有する。
また、本発明のコンパイラの不要名標削除方式は、ソー
スプログラムをコンパイルしてオブジェクトプログラム
を生成するコンパイラにおいて、ソースプログラムから
不要名標を抽出した不要名標ファイルを参照してソース
プログラムに含まれる不要名標をコンパイル対象としな
いようにソースプログラムから削除する不要名標削除手
段を有する。
〔作用〕
本発明のコンパイラの不要名標出力方式では、クロスリ
ファレンス出力処理部がソースプログラム上で宣言され
ている宣言名標と宣言名標の種々の宣言情報とソースプ
ログラム上で宣言名標が宣言および参照されている行番
号とからなるクロスリファレンスリストを出力し、不要
名標出力手段がクロスリファレンス出力処理部に設けら
れソースプログラムから宣言だけで参照のない不要名標
を抽出して不要名標ファイルに出力する。
また、本発明のコンパイラの不要名標削除方式では、不
要名標削除手段がソースプログラムから不要名標を抽出
した不要名標ファイルを参照してソースプログラムに含
まれる不要名標をコンパイル対象としないようにソース
プログラムから削除する。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
(1)第1図は、本発明の一実施例に係るコンパイラの
不要名標出力方式の構成を示すブロック図である0本実
施例のコンパイラの不要名標出力方式は、宣言だけで参
照のない不要名標を含むソースプログラム1と、翻訳/
オブジェクト生成処理部21および不要名標出力手段2
3を有するクロスリファレンス出力処理部22を含むコ
ンパイラ2と、クロスリファレンス出力処理部22から
出力されるクロスリファレンスリスト3と、不要名標出
力手段23から出力される不要名標ファイル4とから、
その主要部が構成されている。
ソースプログラム1中には、名標A−Zが宣言(DEF
)されており、これらの宣言名標A−Zの中で宣言名標
Aだけが参照されて使われているが、残りの宣言名標B
−Zは使われていない(すなわち、不要名標である)も
のとする。
次に、このように構成された本実施例のコンパイラの不
要名標出力方式の動作について説明する。
コンパイラ2に起動し、ソースプログラム1を入力して
、翻訳/オブジェクト生成処理部21によりコンパイル
を行いオブジェクトプログラム(図示せず)を出力する
。また、クロスリファレンス出力処理部22によりソー
スプログラム1中の不要名標以外の宣言名標についてク
ロスリファレンスリスト3を出力するとともに、クロス
リファレンス出力処理部22内の不要名標出力手段23
によりソースプログラム1中の不要名標を不要名標ファ
イル4に出力する。
クロスリファレンスリスト3には、ソースプログラム1
中の不要名標以外の宣言名標についてのクロスリファレ
ンスリストが出力されているので(例えば、コンパイル
単位間で共通に使用するようないわゆる共通ブロック宣
言内にある名標でコンパイルにおいて参照されない不要
名標が出力されていないので)、必要な情報のみがクロ
スリファレンスリスト3に出力されることになり、ソー
スプログラムの保守効率が向上する。なお、ソースプロ
グラムl中のすべての宣言名標についてクロスリファレ
ンスリストを出力するようにすることもできる。
第2図は、上述のようにして出力された不要名標ファイ
ル4の使用例を示す図である。ここで、ソースプログラ
ム1と不要名標ファイル4とを入力して不要名標ファイ
ル4内の不要名標をソースプログラム1より削除するソ
ースプログラム編集ツール5 (後述する実施例のコン
パイラの不要名標削除方式のようにコンパイラ2自身で
あってもよい)を用いて、コンパイラ2の入力ソースプ
ログラムとなるコンパイル対象ソースプログラム6を作
成している。コンパイル対象ソースプログラム6をコン
パイラ2に入力してコンパイルすれば、不要名標がコン
パイル対象とならないので、コンパイル速度が向上する
(2)第3図は、本発明の一実施例に係るコンパイラの
不要名標削除方式の構成を示すブロック図である。本実
施例のコンパイラの不要名標削除方式は、第1図中に示
したのと同様のソースプログラム1と、ソースプログラ
ム1中の不要名標を出力する不要名裸出カッ−ルア (
前述した実施例のコンパイラの不要名標出力方式のよう
にコンパイラ2自身であってもよい)と、不要名標出力
ツールアから出力された不要名標が格納される不要名標
ファイル4と、不要名標削除手段25を有する宣言処理
部24および翻訳/オブジェクト生成処理部21を含む
コンパイラ2とから、その主要部が構成されている。
次に、このように構成された本実施例のコンパイラの不
要名標削除方式の動作について説明する。
まず、不要名裸出カッ−ルアを起動し、ソースプログラ
ム1を入力して、ソースプログラム1中の宣言だけで参
照のない不要名標を不要名標ファイル4に出力する。
次に、コンパイラ2を起動し、ソースプログラムlおよ
び不要名標ファイル4を入力して、宣言処理部24内の
不要名標削除手段25により不要名標ファイル4を参照
してソースプログラム1中の不要名標をコンパイル対象
より削除する。
第4図は、本実施例のコンパイラの不要名標削除方式に
よる不要名標の削除とコンパイラ2との関係をさらに詳
しく説明するための図である。ここで、不要名標削除手
段25により処理された結果は、第4図中に示すように
ソースプログラム1からDEF  B−200”〜′″
DEF  Z=2600°が削除されたコンパイル対象
ソースプログラム6となっており、コンパイル対象ソー
スプログラム6を翻訳/オブジェクト生成処理部21の
入力としてコンパイルが行われるので、コンパイル速度
が向上する。
〔発明の効果〕
以上説明したように、本発明のコンパイラの不要名標出
力方式によれば、ソースプログラム中の不要名標を不要
名標ファイルに出力するようにしたことにより、不要名
標ファイルを使用して条件コンパイル等の指示文の記述
を行うことなしにソースプログラムから不要名標を削除
することができ、不要名標削除後のソースプログラムを
コンパイルすることによってコンパイル速度を向上させ
ることができる効果がある。また、クロスリファレンス
リストに不要名標以外の宣言名標のみについてのクロス
リファレンスリストを出力するようにしたことにより、
必要な情報のみがクロスリファレンスリストに出力され
るためにソースプログラムの保守効率が向上するという
効果がある。
一方、本発明のコンパイラの不要名標削除方式によれば
、ソースプログラムと不要名標ファイルとを入力してコ
ンパイルするようにしたことにより、条件コンパイル等
の指示文の記述を行うことなしにソースプログラム中の
不要名標をコンパイル対象から外してコンパイル速度を
向上させることができる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例に係るコンパイラの不要名標
出力方式の構成を示すブロック図、第2図は第1図中の
不要名標ファイルの使用例を示す図、 第3図は本発明の一実施例に係るコンパイラの不要名標
削除方式の構成を示すブロック図、第4図は本実施例の
コンパイラの不要名標削除方式による不要名標の削除と
コンパイラとの関係を詳しく説明するための図である。 図において、 1・・・ソースプログラム、 2・・・コンパイラ、 3・・・クロスリファレンスリスト、 4・・・不要名標ファイル、 5・・・ソースプログラム編集ツール、6・・・コンパ
イル対象ソースプログラム、7・・・不要名標出力ツー
ル、 21・・翻訳/オブジェクト生成処理部、22・・クロ
スリファレンス出力処理部、23・・不要名標出力手段
、 24・・宣言処理部、 25・・不要名標削除手段である。

Claims (3)

    【特許請求の範囲】
  1. (1)ソースプログラムをコンパイルしてオブジェクト
    プログラムを生成するコンパイラにおいて、ソースプロ
    グラム上で宣言されている宣言名標と宣言名標の種々の
    宣言情報とソースプログラム上で宣言名標が宣言および
    参照されている行番号とからなるクロスリファレンスリ
    ストを出力するクロスリファレンス出力処理部と、 このクロスリファレンス出力処理部に設けられソースプ
    ログラムから宣言だけで参照のない不要名標を抽出して
    不要名標ファイルに出力する不要名標出力手段と を有することを特徴とするコンパイラの不要名標出力方
    式。
  2. (2)前記クロスリファレンス出力処理部が、不要名標
    以外の宣言名標についてだけクロスリファレンスリスト
    を出力することを特徴とする第1項記載のコンパイラの
    不要名標出力方式。
  3. (3)ソースプログラムをコンパイルしてオブジェクト
    プログラムを生成するコンパイラにおいて、ソースプロ
    グラムから不要名標を抽出した不要名標ファイルを参照
    してソースプログラムに含まれる不要名標をコンパイル
    対象としないようにソースプログラムから削除する不要
    名標削除手段を有することを特徴とするコンパイラの不
    要名標削除方式。
JP1105995A 1989-04-27 1989-04-27 コンパイラの不要名標出力方式および不要名標削除方式 Pending JPH02285424A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1105995A JPH02285424A (ja) 1989-04-27 1989-04-27 コンパイラの不要名標出力方式および不要名標削除方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1105995A JPH02285424A (ja) 1989-04-27 1989-04-27 コンパイラの不要名標出力方式および不要名標削除方式

Publications (1)

Publication Number Publication Date
JPH02285424A true JPH02285424A (ja) 1990-11-22

Family

ID=14422301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1105995A Pending JPH02285424A (ja) 1989-04-27 1989-04-27 コンパイラの不要名標出力方式および不要名標削除方式

Country Status (1)

Country Link
JP (1) JPH02285424A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144885A (ja) * 2018-02-21 2019-08-29 株式会社富士通アドバンストエンジニアリング 関連判定プログラム、関連判定装置及び関連判定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019144885A (ja) * 2018-02-21 2019-08-29 株式会社富士通アドバンストエンジニアリング 関連判定プログラム、関連判定装置及び関連判定方法

Similar Documents

Publication Publication Date Title
US7624385B2 (en) Method for handling preprocessing in source code transformation
EP1636701B1 (en) An intermediate representation for multiple exception handling models
EP1178404A3 (en) Method and system for compiling multiple languages
KR970703561A (ko) 초장 명령어 워드 프로그램의 오브젝트-코드 호환가능 표현(Object-Code Com-patible Representation of Very Long Instruction Word Programs)
WO1996007137A1 (en) System, method, and compiler pre-processor for conditionally compiling a software compilation unit
JPH02285424A (ja) コンパイラの不要名標出力方式および不要名標削除方式
KR19990067823A (ko) 최적화에 있어서 인터럽트 처리의 경감을 실현하는 컴파일러 및 그의 최적화 방법
Barnard et al. Hierarchic syntax error repair for LR grammars
JPH0566929A (ja) コンパイラの再コンパイル時間の短縮方式
JP2765911B2 (ja) データ駆動型制御方法およびコンパイル装置
JP3889227B2 (ja) プログラム実行装置、プログラム実行方法、記録媒体、及び制御プログラム
JP2806468B2 (ja) プログラム翻訳方式
JPH05197561A (ja) コンパイル方式
JP2000242504A (ja) コンパイラ装置
Dunfield et al. 15-745 Project Report: Tail Call Optimization in SUIF
JPH05282138A (ja) ドキュメンタの文書生成方法
JPS63316232A (ja) プログラム作成処理方法
JPH04153737A (ja) コンパイル更新情報出力方式
JPH04247527A (ja) コンピュータの命令スケジューラ
JPS63300325A (ja) 設定/参照クロスリファレンスリストの出力方式
JPS59231649A (ja) コンパイルリスト出力処理方式
JPH05143354A (ja) テキストフアイル変換方式
JPH03176736A (ja) テキスト格納方式
JPH01166134A (ja) クロスリファレンスリスト出力方式
Fulton et al. ABACUS/X an incremental compiler for minicomputer use