JPH0566929A - コンパイラの再コンパイル時間の短縮方式 - Google Patents

コンパイラの再コンパイル時間の短縮方式

Info

Publication number
JPH0566929A
JPH0566929A JP3254302A JP25430291A JPH0566929A JP H0566929 A JPH0566929 A JP H0566929A JP 3254302 A JP3254302 A JP 3254302A JP 25430291 A JP25430291 A JP 25430291A JP H0566929 A JPH0566929 A JP H0566929A
Authority
JP
Japan
Prior art keywords
intermediate code
time
source program
program
processing unit
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
JP3254302A
Other languages
English (en)
Inventor
Ikumi Nakakawaji
育美 中川路
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.)
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
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 KOBE NIPPON DENKI SOFTWARE KK, NEC Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP3254302A priority Critical patent/JPH0566929A/ja
Publication of JPH0566929A publication Critical patent/JPH0566929A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/30Hydrogen technology
    • Y02E60/50Fuel cells

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 同一プログラムに対する再コンパイル時間を
短縮する。 【構成】 プログラム差異抽出処理部4により前回コン
パイル時点とのプログラムの差異の抽出を行い、このと
き、今回のコンパイル対象である原始プログラム内の文
に対して文一連番号の付与を行う。原始プログラム保存
処理部5ではプログラム差異抽出処理部4において文一
連番号の付与を行った原始プログラムの保存を行う。フ
ロントエンド6は主として原始プログラムに依存する処
理を行う部分であり、中間コードを生成する。中間コー
ド併合処理部7はフロントエンド6によって生成された
中間コードと前回コンパイル時に生成した中間コードと
の併合処理を行う。この併合処理は文一連番号の示す値
にしたがって行う構成にした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は原始プログラムを入力
し、オブジェクトコードを生成するコンパイラに係り、
特にプログラムの再コンパイルに要する時間を短縮する
コンパイラにおける再コンパイル時間の短縮方式に関す
るものである。
【0002】
【従来の技術】従来、原始プログラムからオブジェクト
コードを生成するコンパイル方式においては、再コンパ
イル時においても原始プログラムの全体をコンパイルの
対象としてコンパイルを行っていた。
【0003】
【発明が解決しようとする課題】上述した従来の方式で
は、原始プログラム中の変更が加えられていない部分に
対しても必ずコンパイル処理すべてを行わなければなら
ないという課題があった。
【0004】
【課題を解決するための手段】本発明のコンパイラにお
ける再コンパイル時間の短縮方式は、前回コンパイルを
行った時点の原始プログラムと今回コンパイルを行う原
始プログラムとの差異を抽出する抽出手段と、この抽出
手段によって得られた情報を原始プログラムに依存する
処理を行う部分を介して入力し,前回コンパイルを行っ
た際に生成された中間コードに対して,今回のコンパイ
ルにおいて抽出された差異部分の中間コードを併合する
併合手段を含むものである。
【0005】
【作用】本発明においては、前回のコンパイル処理にお
ける結果を、中間コードの形で流用する。そして、原始
プログラム中の変更が加えられた部分のみに対して、局
所的にコンパイル処理を施す。
【0006】
【実施例】図1は本発明の一実施例を示すブロック図で
ある。この図において、1,2,3は原始プログラム、
4はプログラム差異抽出処理部で、このプログラム差異
抽出処理部4は前回コンパイルを行った時点の原始プロ
グラムと今回コンパイルを行う原始プログラムとの差異
を抽出する抽出手段を構成している。5は原始プログラ
ム保存処理部、6は原始プログラムに依存する処理を行
うフロントエンド、7はこのフロントエンド6の出力を
入力とする中間コード併合処理部で、この中間コード併
合処理部7は上記抽出手段によって得られた情報を原始
プログラムに依存する処理を行う部分であるフロントエ
ンド6を介して入力し,前回コンパイルを行った際に生
成された中間コードに対して,今回のコンパイルにおい
て抽出された差異部分の中間コードを併合する併合手段
を構成している。8,9は中間コード、10は中間コー
ドを読み込み処理する中間コード読み込み処理部、11
は中間コードを保存処理する中間コード保存処理部、1
2は中間コード、13はバックエンドで、このバックエ
ンド13は目的機械に依存する部分であり、コード最適
化とコード生成などを行う部分である。14はオブジェ
クトコードである。
【0007】つぎにこの図1に示す各構成要素について
説明する。まず、プログラム差異抽出処理部4は、前回
当原始プログラムのコンパイルを行った時点において保
存された原始プログラムと今回コンパイル対象である原
始プログラムとをそれぞれ走査し、プログラムの差異の
抽出を行う。このとき、今回のコンパイル対象である原
始プログラム内の文に対して、文一連番号の付与を行
う。そして、原始プログラム保存処理部5では、プログ
ラム差異抽出処理部4において文一連番号の付与を行っ
た原始プログラムの保存を行う。フロントエンド6は、
主として原始プログラムに依存する処理を行う部分であ
り、字句解析,構文解析,記号表の作成,意味解析およ
び中間コードの生成などが含まれる。
【0008】つぎに、中間コード併合処理部7は、今回
フロントエンド6によって生成された中間コードと、前
回コンパイル時に生成した中間コードとの併合処理を行
う。この併合処理は、文一連番号の示す値にしたがって
行う。そして、中間コード読み込み処理部10は、前回
コンパイル時点において生成および保存された中間コー
ドの読み込みを行い、また、中間コード保存処理部11
は中間コード併合処理部7において併合された結果の中
間コードの保存処理を行う。バックエンド13は、目的
機械に依存する部分であり、コード最適化とコード生成
などを行う部分である。ここで、フロントエンド7およ
びバックエンド13については、例えば、「コンパイ
ラ」株式会社/サイエンス社発行、A.V.エイホR.
セシイJ.D.ウルマン著24ページに説明されてい
る。
【0009】図2は図1の動作説明に供する文一連番号
の付与例を示す説明図であり、図3は図1の動作説明に
供する中間コードの構成および併合例を示す説明図であ
る。この図2および図3において図1と同一部分には同
一符号を付して説明を省略する。
【0010】つぎに図1に示す実施例の動作を図2およ
び図3を参照して説明する。まず、プログラム差異抽出
処理部4により、前回当原始プログラムのコンパイルを
行った時点において原始プログラム保存処理部5により
保存された原始プログラムと今回コンパイル対象である
原始プログラムとを走査し、プログラムの差異の抽出を
行う。そして、コンパイル対象となるプログラムが再コ
ンパイルでない場合には、原始プログラムのすべての部
分がコンパイル対象となる。文一連番号の付与処理とし
て、前回コンパイル時から、すでに存在していた文に対
しては、前回付与したものと同一の文一連番号を付与す
る。前回コンパイル時点から、今回までの間に変更、追
加された文に関しては、変更、追加された箇所の文一連
番号から派生した値の、文一連番号を付与する。また、
前回コンパイル時点から、今回までの間に削除された文
に関しては、前回コンパイル時点において付与されてい
た文一連番号と、削除されたことを示すシンボルを生成
する。そして、プログラム差異抽出処理部4は、前回の
コンパイル時点から今回までの間に変更、追加、または
削除された部分のみを、フロントエンド6に渡す。
【0011】つぎに、原始プログラム保存処理部5によ
り、文一連番号の付与を行った原始プログラムの保存を
行い、次回のコンパイル時点におけるプログラム差異抽
出処理を可能とする。そして、フロントエンド6は、プ
ログラム差異抽出処理部4によって、抽出された部分の
みを中間コードに変換する。この中間コードは、中間コ
ード併合処理部7によって、前回コンパイル時点に生成
された中間コード中に併合される。前回コンパイル時
に、中間コード保存処理部11によって保存された中間
コード12が、中間コード読み込み処理部10により中
間コード併合処理部7に渡される。そして、変更、追
加、または削除された文の中間コードは、文一連番号に
したがって併合され、一つの中間コード12にまとめら
れる。この新しい中間コード12は、バックエンド13
および中間コード保存処理部11の2つの処理に引き継
がれる。中間コード保存処理部11は、この中間コード
の保存を行い、次回のコンパイル時点における中間コー
ド併合処理を可能とする。一方、バックエンド13に渡
された中間言語は、オブジェクトコード14に変換さ
れ、実行可能なプログラムとなる。
【0012】なお、上記実施例では、プログラム中で使
用される変数の変更、追加および削除については、本発
明と直接関係しないので触れていない。しかし、フロン
トエンド終了時点で生成されるシンボル情報テーブルを
保存し、変更、追加および削除された変数に付随する情
報を、上述した中間コードに対する処理と同様にして、
部分的に作り直すことにより、これらに対処することが
できる。
【0013】
【発明の効果】以上説明したように本発明は、前回のコ
ンパイル処理における結果を、中間コードの形で流用す
ることにより、再コンパイル時点でのコンパイル時間を
短縮することができる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1の動作説明に供する文一連番号の付与例を
示す説明図である。
【図3】図1の動作説明に供する中間コードの構成およ
び併合例を示す説明図である。
【符号の説明】
1〜3 原始プログラム 4 プログラム差異抽出処理部 5 原始プログラム保存処理部 6 フロントエンド 7 中間コード併合処理部 8,9 中間コード 10 中間コードを読み込み処理部 11 中間コード保存処理部 12 中間コード 13 バックエンド 14 オブジェクトコード

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 原始プログラムを入力し、オブジェクト
    コードを生成するコンパイラにおいて、前回コンパイル
    を行った時点の原始プログラムと今回コンパイルを行う
    原始プログラムとの差異を抽出する抽出手段と、この抽
    出手段によって得られた情報を原始プログラムに依存す
    る処理を行う部分を介して入力し,前回コンパイルを行
    った際に生成された中間コードに対して,今回のコンパ
    イルにおいて抽出された差異部分の中間コードを併合す
    る併合手段を含むことを特徴とするコンパイラの再コン
    パイル時間の短縮方式。
JP3254302A 1991-09-06 1991-09-06 コンパイラの再コンパイル時間の短縮方式 Pending JPH0566929A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3254302A JPH0566929A (ja) 1991-09-06 1991-09-06 コンパイラの再コンパイル時間の短縮方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3254302A JPH0566929A (ja) 1991-09-06 1991-09-06 コンパイラの再コンパイル時間の短縮方式

Publications (1)

Publication Number Publication Date
JPH0566929A true JPH0566929A (ja) 1993-03-19

Family

ID=17263102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3254302A Pending JPH0566929A (ja) 1991-09-06 1991-09-06 コンパイラの再コンパイル時間の短縮方式

Country Status (1)

Country Link
JP (1) JPH0566929A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036187A (ja) * 2001-07-23 2003-02-07 Ricoh Co Ltd プログラムのデバッグ方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036187A (ja) * 2001-07-23 2003-02-07 Ricoh Co Ltd プログラムのデバッグ方法

Similar Documents

Publication Publication Date Title
US5956510A (en) Apparatus and method for revising computer program code
US20040268330A1 (en) Intermediate representation for multiple exception handling models
KR20090011974A (ko) 컴파일 대상 파일 추출 방법
JPH0566929A (ja) コンパイラの再コンパイル時間の短縮方式
JPH09218789A (ja) 分割コンパイル方式
JPH0695890A (ja) コンパイラにおける名前置換方式
JP3584204B2 (ja) 原始プログラム自動変換装置
JP3003459B2 (ja) プログラム作成支援装置
KR100290623B1 (ko) 데이터베이스의 데이터 제어방법
JPH05197561A (ja) コンパイル方式
Zamora et al. PATHFINDER II. A Computer Program That Generates Wiswesser Line Notations for Complex Polycyclic Structures
JPH05204705A (ja) 未定義変数検出処理方法
JPH05233314A (ja) コンパイル処理およびプログラム実行における用語辞書処理方式
JP3190377B2 (ja) 関数名変換装置
JPH05120025A (ja) ソースプログラムのインライン展開方法
JP2607975B2 (ja) デバック方式
JP3141945B2 (ja) コンパイル装置
JP2001125793A (ja) コンパイラシステム及びコンパイル方法並びに記録媒体
JP2000132405A (ja) インライン展開処理装置及び方法
JPH02159629A (ja) 計算機言語翻訳方式
JPH06290052A (ja) 再コンパイル方式
JPH05313909A (ja) 中間コードインライン展開機能を有するコンパイラシステム
Koskimies Techniques for modular language implementation
JPH08161179A (ja) 一文実行方法
JPH0239331A (ja) デバッグ文生成装置