JPH0359726A - プログラム単位一括翻訳方式 - Google Patents
プログラム単位一括翻訳方式Info
- Publication number
- JPH0359726A JPH0359726A JP19716389A JP19716389A JPH0359726A JP H0359726 A JPH0359726 A JP H0359726A JP 19716389 A JP19716389 A JP 19716389A JP 19716389 A JP19716389 A JP 19716389A JP H0359726 A JPH0359726 A JP H0359726A
- Authority
- JP
- Japan
- Prior art keywords
- program unit
- program
- name
- unit
- name storage
- 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 27
- 239000000284 extract Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は1手続き呼出しを含む原始プログラム金コンパ
イルする方式に関する。
イルする方式に関する。
(従来の技術)
原始プログラムのプログラム単位が、そのプログラム単
位名で同じライブラリのメンバとなっている条件のもと
で、そのメンバ中の原始プログラムを翻訳するには、当
該メンバをいちいち指定する必要があった。
位名で同じライブラリのメンバとなっている条件のもと
で、そのメンバ中の原始プログラムを翻訳するには、当
該メンバをいちいち指定する必要があった。
(発明が解決しようとする課題)
上述した従来の方式では、コンパイル時にこれらのメン
バをすべて漏れなく指定しないと。
バをすべて漏れなく指定しないと。
コンパイラにより生成されたコンパイルユニット金リン
クして実行可能なロードモジュール全作成するとき、必
要なコンパイルユニットが欠落しているためにエラーが
発生するという欠点がある。
クして実行可能なロードモジュール全作成するとき、必
要なコンパイルユニットが欠落しているためにエラーが
発生するという欠点がある。
本発明の目的は、オプションで指定した主プログラム名
全プログラム単位名格納領域に格納してかき、プログラ
ム単位名格納領域からプログラム単位名を取出し、その
プログラム単位が未だ翻訳されていす、かつ、そのプロ
グラム単位名が当該ライブラリのメンバ中に存在するな
らば、プログラム単位を翻訳し、翻訳するプログラム単
位により参照されるプログラム単位のプログラム単位名
をプログラム単位名格納領域に格納することにより上記
欠点金除去し、コンパイルユニットの欠落がないように
構成したプログラム単位一括翻訳方式を提供することK
ある。
全プログラム単位名格納領域に格納してかき、プログラ
ム単位名格納領域からプログラム単位名を取出し、その
プログラム単位が未だ翻訳されていす、かつ、そのプロ
グラム単位名が当該ライブラリのメンバ中に存在するな
らば、プログラム単位を翻訳し、翻訳するプログラム単
位により参照されるプログラム単位のプログラム単位名
をプログラム単位名格納領域に格納することにより上記
欠点金除去し、コンパイルユニットの欠落がないように
構成したプログラム単位一括翻訳方式を提供することK
ある。
(課題全解決するための手段)
本発明によるプログラム単位一括翻訳方式は、原始プロ
グラムのプログラム単位が当該プログラム単位名で同じ
ライブラリのメンバとなっている条件のもとで、そのメ
ンバ中の原始プログラムを翻訳するコンパイラにおける
ものであって、主プログラム名格納手段と、プログラム
単位翻訳手段と、プログラム単位名格納手段とを具備し
て構成したものである。
グラムのプログラム単位が当該プログラム単位名で同じ
ライブラリのメンバとなっている条件のもとで、そのメ
ンバ中の原始プログラムを翻訳するコンパイラにおける
ものであって、主プログラム名格納手段と、プログラム
単位翻訳手段と、プログラム単位名格納手段とを具備し
て構成したものである。
主プログラム名格納手段は、オプションで指定した主プ
ログラム名をプログラム単位名格納領域に格納するため
のものである。
ログラム名をプログラム単位名格納領域に格納するため
のものである。
プログラム単位翻訳手段は、プログラム単位名格納領域
からプログラム単位名分取出し、酒該プログラム単位が
未だ翻訳されていないときに、当該プログラム単位名が
当該ライブラリのメンバ中に存在するならば、プログラ
ム単位を翻訳するためのものである。
からプログラム単位名分取出し、酒該プログラム単位が
未だ翻訳されていないときに、当該プログラム単位名が
当該ライブラリのメンバ中に存在するならば、プログラ
ム単位を翻訳するためのものである。
プログラム単位名格納手段は、翻訳するプログラム単位
で参照されるプログラム単位のプログラム単位名金プロ
グラム単位名格納領域に格納するためのものである。
で参照されるプログラム単位のプログラム単位名金プロ
グラム単位名格納領域に格納するためのものである。
(実 施例)
次に1本発明について図面を参照して説明する。
第1図は1本発明によるプログラム単位一括翻訳方式の
一実施例を示すブロック図である。
一実施例を示すブロック図である。
第1図にかいて、11はごンパイラ、12は主プログラ
ム名格納手段、13はプログラム単位翻訳手段、14は
プログラム単位名格納手段。
ム名格納手段、13はプログラム単位翻訳手段、14は
プログラム単位名格納手段。
15はプログラム単位名格納領域である。
第2図は、本発明による処理例の流れ金示すフローチャ
ートである。第2図にかいて、21〜29はそれぞれ処
理ステップである。
ートである。第2図にかいて、21〜29はそれぞれ処
理ステップである。
第3図は、本発明における主プログラム、手続き名格納
領域、ライブラリ、pよび手続きの実例を示す説明図で
ある。第3図にかいて、31は主プログラム、32は手
続き名格納領域、33は探索済みであることを示すフラ
グ、34はライブラリ、35は手続きである。
領域、ライブラリ、pよび手続きの実例を示す説明図で
ある。第3図にかいて、31は主プログラム、32は手
続き名格納領域、33は探索済みであることを示すフラ
グ、34はライブラリ、35は手続きである。
第1図にかいて、本発明はコンパイラ11の内部に主プ
ログラム名格納手段12と、プログラム単位翻訳手段1
3と、プログラム単位名格納手段工4と、プログラム単
位名格納領域15と會備えて構成されている。第3図に
かいて、本発8Aを説明するための一実施例として王プ
ロダラム(A) 31の中に手続きCB)、 (E)の
呼出しを含み1手続きCB)の中に手続きtc>−(D
)の呼出しを含む場合を考える。
ログラム名格納手段12と、プログラム単位翻訳手段1
3と、プログラム単位名格納手段工4と、プログラム単
位名格納領域15と會備えて構成されている。第3図に
かいて、本発8Aを説明するための一実施例として王プ
ロダラム(A) 31の中に手続きCB)、 (E)の
呼出しを含み1手続きCB)の中に手続きtc>−(D
)の呼出しを含む場合を考える。
次に1本実施例の動作を第1図、第2図、)よび第3図
を参照して説明する。
を参照して説明する。
利用者は主プログラムA31のプログラム単位名′に翻
訳時にオプションで指定スる。
訳時にオプションで指定スる。
王プログラム名格納手段12は、ステップ21にかいて
、指定されている主プログラム名をプログラム単位名格
納領域32に格納する。
、指定されている主プログラム名をプログラム単位名格
納領域32に格納する。
プログラム単位翻訳手段13は、ステップ22にかいて
、プログラム単位名格納領域12に未探索のプログラム
単位名が存在するか否かを判定する。この場合には、主
プログラム名人が存在するので、ステップ23によりプ
ログラム単位翻訳手段13はプログラム単位名人が探索
済みであることを示すフラグ33をセットし。
、プログラム単位名格納領域12に未探索のプログラム
単位名が存在するか否かを判定する。この場合には、主
プログラム名人が存在するので、ステップ23によりプ
ログラム単位翻訳手段13はプログラム単位名人が探索
済みであることを示すフラグ33をセットし。
ステップ24によりプログラム単位名人′に取出す。さ
らに、ステップ25により、上記と同名のプログラム単
位名が主プログラムへの存在するライブラリ340メン
バ中に存在するか否か’t’lJ定する。Aはメンバ中
に存在するので酒該メンバを入力し、ステップ27によ
りプログラム単位から一文づつ取出して翻訳する。−文
を翻訳した後、ステップ28にかいて、その文の中で手
続き呼出しが存在するか否かを判定する。
らに、ステップ25により、上記と同名のプログラム単
位名が主プログラムへの存在するライブラリ340メン
バ中に存在するか否か’t’lJ定する。Aはメンバ中
に存在するので酒該メンバを入力し、ステップ27によ
りプログラム単位から一文づつ取出して翻訳する。−文
を翻訳した後、ステップ28にかいて、その文の中で手
続き呼出しが存在するか否かを判定する。
手続き呼出しが存在するならば、プログラム単位名格納
手段14t−呼出す。
手段14t−呼出す。
プログラム単位名格納手段14ば、その手続き名がプロ
グラム単位名格納領域15に格納されていないならば、
ステップ29にpいて、こレヲプログラム単位名格納領
域12に格納する。
グラム単位名格納領域15に格納されていないならば、
ステップ29にpいて、こレヲプログラム単位名格納領
域12に格納する。
ステップ26からステップ29までの作業を最終の文の
翻訳が終了するまで繰返せば1手続き名格納領域32に
プログラム単位名A、B、Bが格納される。
翻訳が終了するまで繰返せば1手続き名格納領域32に
プログラム単位名A、B、Bが格納される。
王プログラムAllの最終の文の翻訳が終了すると、ス
テップ22へ戻9.手続き名格納領域32の未探索のプ
ログラム単位名Bに対して。
テップ22へ戻9.手続き名格納領域32の未探索のプ
ログラム単位名Bに対して。
上述のステップ23からステップ29!でと同様の作業
を繰返す。手続き名格納領域32に対する上記作業は、
未探索のプログラム単位がなくなる!で繰返される。
を繰返す。手続き名格納領域32に対する上記作業は、
未探索のプログラム単位がなくなる!で繰返される。
その結果1手続き名格納領域32にはプログラム単位A
、B、B、O,I)が格納され、この順番で一括して翻
訳が行われる。
、B、B、O,I)が格納され、この順番で一括して翻
訳が行われる。
(発明の効果)
以上で説明してきたように本発明は、原始プログラムの
プログラム単位がそのプログラム単位名で同じライブラ
リのメンバとなっている条件のもとで、当該メンバ中の
原始プログラムを翻訳するときに実行9能なロードモジ
ュールを作成することにより、リンク時に必要となるコ
ンパイルユニットをすべて漏れなく得ることかり能とな
ると云う効果がある。
プログラム単位がそのプログラム単位名で同じライブラ
リのメンバとなっている条件のもとで、当該メンバ中の
原始プログラムを翻訳するときに実行9能なロードモジ
ュールを作成することにより、リンク時に必要となるコ
ンパイルユニットをすべて漏れなく得ることかり能とな
ると云う効果がある。
第1図は1本発明によるプログラム単位一括翻訳方式の
一実施例を示すブロック図である。 第2図は1本発明による処理例の流ftt”示すフロー
チャートである。 第3図は1本発明における主プログラム、手続き名格納
領域、ライブラリ、釦よび手続きの実例を示す説明図で
ある。 11・・・コンパイラ 12・・・王プログラム名格納手段 13・・・プログラム単位翻訳手段 14・・・プログラム単位名格納手段 15・・・プログラム単位名格納領域 21〜29・・・処理ステップ 31・・・王プログラム 32・・・手続き名格納領域 33・・・フラグ 34・・・ライブラリ 35・・・手続き
一実施例を示すブロック図である。 第2図は1本発明による処理例の流ftt”示すフロー
チャートである。 第3図は1本発明における主プログラム、手続き名格納
領域、ライブラリ、釦よび手続きの実例を示す説明図で
ある。 11・・・コンパイラ 12・・・王プログラム名格納手段 13・・・プログラム単位翻訳手段 14・・・プログラム単位名格納手段 15・・・プログラム単位名格納領域 21〜29・・・処理ステップ 31・・・王プログラム 32・・・手続き名格納領域 33・・・フラグ 34・・・ライブラリ 35・・・手続き
Claims (1)
- 原始プログラムのプログラム単位が当該プログラム単位
名で同じライブラリのメンバとなつている条件のもとで
、当該メンバ中の原始プログラムを翻訳するコンパイラ
におけるプログラム単位一括翻訳方式であつて、オプシ
ョンで指定した主プログラム名をプログラム単位名格納
領域に格納するための主プログラム名格納手段と、前記
プログラム単位名格納領域から前記プログラム単位名を
取出し、前記プログラム単位が未だ翻訳されていないと
きに当該プログラム単位名が当該ライブラリのメンバ中
に存在するならば、前記プログラム単位を翻訳するため
のプログラム単位翻訳手段と、前記翻訳するプログラム
単位により参照されるプログラム単位のプログラム単位
名を前記プログラム単位名格納領域に格納するためのプ
ログラム単位名格納手段とを具備して構成したことを特
徴とするプログラム単位一括翻訳方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19716389A JPH0359726A (ja) | 1989-07-28 | 1989-07-28 | プログラム単位一括翻訳方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19716389A JPH0359726A (ja) | 1989-07-28 | 1989-07-28 | プログラム単位一括翻訳方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0359726A true JPH0359726A (ja) | 1991-03-14 |
Family
ID=16369827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19716389A Pending JPH0359726A (ja) | 1989-07-28 | 1989-07-28 | プログラム単位一括翻訳方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0359726A (ja) |
-
1989
- 1989-07-28 JP JP19716389A patent/JPH0359726A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5404531A (en) | Method and apparatus for compiler processing on program related to data transfer and calculation, and method of managing memory | |
JPH0359726A (ja) | プログラム単位一括翻訳方式 | |
GB2420638A (en) | Method of substituting code fragments in Internal Representation | |
JPH11154093A (ja) | プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体 | |
JP2811804B2 (ja) | 変数出力範囲指定方式 | |
JPH10214194A (ja) | クラス定義取り込み方式 | |
JPH07244601A (ja) | 関係データベースのアクセス方法および装置 | |
JPS6326730A (ja) | プログラム修正方式 | |
JPS63138426A (ja) | プログラム生成方式 | |
JPH04373020A (ja) | 関数対応表作成装置 | |
JPH103390A (ja) | テーブル管理システムとその作成方法 | |
JPH0690669B2 (ja) | 文字列操作系命令コンパイル処理方式 | |
JPH0250731A (ja) | コンパイル装置 | |
JPS63178345A (ja) | デ−タベ−スアクセス処理方式 | |
JPS62200426A (ja) | 高級言語のマクロ展開方法 | |
JPH01239648A (ja) | 動的サブルーチン呼出し方式 | |
JPH02271430A (ja) | プログラム実行装置 | |
JPH04364537A (ja) | 並列処理用プログラム最適化方法、装置およびコンパイラ | |
JPH0468436A (ja) | 自動コンパイルアンドリンク装置 | |
JPH05274126A (ja) | プログラム合成システム | |
JPH0328931A (ja) | 利用者言語管理装置 | |
JPS63317826A (ja) | シンボリックデバッグ方式 | |
JPH0651995A (ja) | 実行サブルーチン名の認識方法 | |
JPH0228839A (ja) | ルーチン単独テスト処理システムにおけるロードモジュール生成方式 | |
JPH01136241A (ja) | プログラムリンク方式 |