JPS63118837A - ロ−ドモジユ−ル作成装置 - Google Patents
ロ−ドモジユ−ル作成装置Info
- Publication number
- JPS63118837A JPS63118837A JP26508786A JP26508786A JPS63118837A JP S63118837 A JPS63118837 A JP S63118837A JP 26508786 A JP26508786 A JP 26508786A JP 26508786 A JP26508786 A JP 26508786A JP S63118837 A JPS63118837 A JP S63118837A
- Authority
- JP
- Japan
- Prior art keywords
- load module
- unit
- compilation
- compilation unit
- units
- 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 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 3
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 2
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ロードモジュールを自動的に作成する手段に
関する。
関する。
本発明は、コンパイルユニットからロードモジュールを
作成する手段において、 ロードモジュールを構成するコンパイルユニットの指定
をプログラムを用いて自動的に実行することにより、 コンパイルユニットの指定に伴う利用者の負担を軽減す
ることができるようにしたものである。
作成する手段において、 ロードモジュールを構成するコンパイルユニットの指定
をプログラムを用いて自動的に実行することにより、 コンパイルユニットの指定に伴う利用者の負担を軽減す
ることができるようにしたものである。
従来、少なくとも1つのコンパイルユニットから実行可
能な形式のロードモジュールを作成(リンク)する場合
には、作成されるロードモジュールを構成するコンパイ
ルユニットを利用者がすべて指定しなくてはならなかっ
た。ここでいうコンパイルユニ・ノドとは、言語処理プ
ログラムによって出力された再配置可能な形式をしてお
り、ロードモジュールを構成する基になるものである。
能な形式のロードモジュールを作成(リンク)する場合
には、作成されるロードモジュールを構成するコンパイ
ルユニットを利用者がすべて指定しなくてはならなかっ
た。ここでいうコンパイルユニ・ノドとは、言語処理プ
ログラムによって出力された再配置可能な形式をしてお
り、ロードモジュールを構成する基になるものである。
このように従来リンクする場合には、作成され・41:
l−1’モジユールヲ構成するコンパイルユニットを利
用者が全部指定しなくてはならなかった。
l−1’モジユールヲ構成するコンパイルユニットを利
用者が全部指定しなくてはならなかった。
したがって、利用者は、作成されるロードモジュールを
構成するコンパイルユニットの名前を全部認識しておく
必要があり、全部のコンパイルユニット名をメモしてお
くなどの作業が必要であった。さらに、そのロードモジ
ュールを構成するコンパイルユニットに追加・削除など
の変更が生じることがあるが、この場合には、構成する
コンパイルユニットの名前を正しく指定するために変更
が生じるたびにメモなどを修正する必要があった。
構成するコンパイルユニットの名前を全部認識しておく
必要があり、全部のコンパイルユニット名をメモしてお
くなどの作業が必要であった。さらに、そのロードモジ
ュールを構成するコンパイルユニットに追加・削除など
の変更が生じることがあるが、この場合には、構成する
コンパイルユニットの名前を正しく指定するために変更
が生じるたびにメモなどを修正する必要があった。
また、指定するときに、コンパイルユニット名を間違っ
て入力しないようにしなくてはならなかった。ロードモ
ジュールを構成するコンパイルユニットが数十個・数百
価に及ぶことがあり、このような場合には、全部のコン
パイルユニット名を間違いなく指定することはなかなか
むずかしいことである。
て入力しないようにしなくてはならなかった。ロードモ
ジュールを構成するコンパイルユニットが数十個・数百
価に及ぶことがあり、このような場合には、全部のコン
パイルユニット名を間違いなく指定することはなかなか
むずかしいことである。
以上のように、作成されるロードモジュールを構成する
コンパイルユニットを全部正しく指定するには、利用者
にかなりの手間をかける欠点があった。
コンパイルユニットを全部正しく指定するには、利用者
にかなりの手間をかける欠点があった。
本発明は、このような欠点を除去するもので利用者に対
するわずかな手間でロードモジュールが作成できるロー
ドモジュール作成装置を提供することを目的とする。
するわずかな手間でロードモジュールが作成できるロー
ドモジュール作成装置を提供することを目的とする。
本発明は、入力ファイルおよび入力ライブラリに格納さ
れたコンパイルユニットかう所望の0−トモジュールを
作成するロードモジュール作成装置において、外部から
与えられたプログラム情報に基づき自動呼び出しを行う
コンパイルユニットを決定する第一の決定手段と、この
第一の決定手段で決定したコンパイルユニットを上記入
力ファイルおよび入力ライブラリから探索する第一のサ
ーチ手段と、この第一のサーチ手段で探索されたコンパ
イルユニット内の他プログラム呼び出し情報に基づき自
動呼び出しを行うコンパイルユニットを決定する第二の
決定手段と、この第二の決定手段で決定したコンパイル
ユニットを上記入力ファイルおよび入力ライブラリから
探索する第二のサーチ手段と、上記第一および第二のサ
ーチ手段で探索されたコンパイルユニットを用いて、コ
ンパイルユニット間の呼び出し関係に基づきロードモジ
ュールを作成する作成手段とを備えたことを特徴とする
。
れたコンパイルユニットかう所望の0−トモジュールを
作成するロードモジュール作成装置において、外部から
与えられたプログラム情報に基づき自動呼び出しを行う
コンパイルユニットを決定する第一の決定手段と、この
第一の決定手段で決定したコンパイルユニットを上記入
力ファイルおよび入力ライブラリから探索する第一のサ
ーチ手段と、この第一のサーチ手段で探索されたコンパ
イルユニット内の他プログラム呼び出し情報に基づき自
動呼び出しを行うコンパイルユニットを決定する第二の
決定手段と、この第二の決定手段で決定したコンパイル
ユニットを上記入力ファイルおよび入力ライブラリから
探索する第二のサーチ手段と、上記第一および第二のサ
ーチ手段で探索されたコンパイルユニットを用いて、コ
ンパイルユニット間の呼び出し関係に基づきロードモジ
ュールを作成する作成手段とを備えたことを特徴とする
。
外部からの指令に基づいて自動呼び出しを実行するか否
かを判断する。自動呼び出しを実行すると判断した場合
には、外部から与えられるプログラム情報に基づいて自
動呼び出しを行うコンパイルユニットを決定する。この
決定したコンパイルユニットを入力ファイルおよび入力
ライブラリからサーチする。サーチされたコンパイルユ
ニット内の他プログラム呼び出し情報に基づいて自動呼
び出しを行うコンパイルユニットを決定する。この決定
したコンパイルユニットを入力ファイルおよび入力ライ
ブラリからサーチする。サーチされたすべてのコンパイ
ルユニットを用いて、これらコンパイルユニット間の呼
び出し関係に基づいたロードモジュールを作成する。
かを判断する。自動呼び出しを実行すると判断した場合
には、外部から与えられるプログラム情報に基づいて自
動呼び出しを行うコンパイルユニットを決定する。この
決定したコンパイルユニットを入力ファイルおよび入力
ライブラリからサーチする。サーチされたコンパイルユ
ニット内の他プログラム呼び出し情報に基づいて自動呼
び出しを行うコンパイルユニットを決定する。この決定
したコンパイルユニットを入力ファイルおよび入力ライ
ブラリからサーチする。サーチされたすべてのコンパイ
ルユニットを用いて、これらコンパイルユニット間の呼
び出し関係に基づいたロードモジュールを作成する。
以下、本発明実施例を図面に基づいて説明する。
第1図は本発明の自動ロードモジュール作成方式の実施
例の構成を示すブロック構成図である。
例の構成を示すブロック構成図である。
この実施例方式は、CPU4−6に各々接続された入力
装置4−1.4−2.4−3.4−4および4−5と、
外部記憶装置4,7と、出力装置4−8.4〜9および
4−10とを備える。
装置4−1.4−2.4−3.4−4および4−5と、
外部記憶装置4,7と、出力装置4−8.4〜9および
4−10とを備える。
入力装置のうち、キーボード4−1でリンクの実行の開
始および実行環境を指示する。キーボード4−1または
コマンドファイル4−2でリンクされるロードモジュー
ルを構成するコンパイルユニットの指示を行う。この指
示の方法に基づいてロードモジュールを構成するコンパ
イルユニットの自動呼び出しを実行するか否かが決定さ
れる。メインコンパイルユニットファイル4−3、ユー
ザコンパイルユニットライブラリ4−4およびシステム
コンパイルユニットライブラリ4−5には、ロードモジ
ュールを構成すべきコンパイルユニットが格納されてい
る。ここで、メインコンパイルユニットファイル4−3
はロードモジュールの主となるべきコンパイルユニット
が格納されている直編成ファイルであり、このファイル
には唯一のコンパイルユニットのみが格納される。ユー
ザコンパイルユニットライブラリは4−4は利用者が作
成したコンパイルユニットが格納される待機区分編成フ
ァイルであり、このファイルには複数個のコンパイルユ
ニットが格納することができる。システムコンパイルユ
ニットライブラリ4−5はシステムが提供したコンパイ
ルユニットが格納される待機区分編成ファイルであり、
このファイルには複数個のコンパイルユニットを格納す
ることができる。ロードモジュールを構成するコシパイ
ルユニットはメインコンパイルユニットファイル4−3
、ユーザコンパイルユニットライブラリ4−4あるいは
システムコンパイルユニットライブラリ4−5のいずれ
がのファイルまたはライブラリに格納されていなければ
ならない。
始および実行環境を指示する。キーボード4−1または
コマンドファイル4−2でリンクされるロードモジュー
ルを構成するコンパイルユニットの指示を行う。この指
示の方法に基づいてロードモジュールを構成するコンパ
イルユニットの自動呼び出しを実行するか否かが決定さ
れる。メインコンパイルユニットファイル4−3、ユー
ザコンパイルユニットライブラリ4−4およびシステム
コンパイルユニットライブラリ4−5には、ロードモジ
ュールを構成すべきコンパイルユニットが格納されてい
る。ここで、メインコンパイルユニットファイル4−3
はロードモジュールの主となるべきコンパイルユニット
が格納されている直編成ファイルであり、このファイル
には唯一のコンパイルユニットのみが格納される。ユー
ザコンパイルユニットライブラリは4−4は利用者が作
成したコンパイルユニットが格納される待機区分編成フ
ァイルであり、このファイルには複数個のコンパイルユ
ニットが格納することができる。システムコンパイルユ
ニットライブラリ4−5はシステムが提供したコンパイ
ルユニットが格納される待機区分編成ファイルであり、
このファイルには複数個のコンパイルユニットを格納す
ることができる。ロードモジュールを構成するコシパイ
ルユニットはメインコンパイルユニットファイル4−3
、ユーザコンパイルユニットライブラリ4−4あるいは
システムコンパイルユニットライブラリ4−5のいずれ
がのファイルまたはライブラリに格納されていなければ
ならない。
また外部記憶装置としての作業用ファイル4−7は、少
なくとも1つのコンパイルユニットからロードモジエー
ルをリンクする際に、−時的に記憶しておく必要のある
情報を格納しておく作業用のファイルである。
なくとも1つのコンパイルユニットからロードモジエー
ルをリンクする際に、−時的に記憶しておく必要のある
情報を格納しておく作業用のファイルである。
出力装置は作成されたロードモジュールを格納しておく
ロードモジュールファイル4−9およびロードモジュー
ルライブラリ4−10と、作成されたロードモジュール
の情報を出力するレポートアウトファイル4−8とを有
す、ここで、ロードモジュールファイル4−9は作成さ
れたロードモジュールを一時的に格納しておく直編成フ
ァイルであり、ロードモジュールライブラリ4−10は
作成されたロードモジュールを長く保存しておく待機区
分編成ファイルである。
ロードモジュールファイル4−9およびロードモジュー
ルライブラリ4−10と、作成されたロードモジュール
の情報を出力するレポートアウトファイル4−8とを有
す、ここで、ロードモジュールファイル4−9は作成さ
れたロードモジュールを一時的に格納しておく直編成フ
ァイルであり、ロードモジュールライブラリ4−10は
作成されたロードモジュールを長く保存しておく待機区
分編成ファイルである。
CPU4−6は、キーボード4−1の指令で作動し、キ
ーボード4−1またはコマンドファイル4−2により指
示された第2図・第3図に示すようなプログラム情報に
基づいてロードモジュールを構成すべきコンパイルユニ
ットを決定する。CPU4−6は決定したコンパイルユ
ニットを入力装置であるメインコンパイルユニットファ
イル4−3、ユーザコンパイルユニットライブラリ4−
4あるいはシステムコンパイルユニットライブラリ4−
5のいずれかから入力し、ロードモジュールを作成する
。作成されたロードモジュールはロードモジュールファ
イル4−9およびロードモジュールライブラリ4−10
に出力され、作成されたロードモジュールの情報はレポ
ートアウトファイル4−8に出力される。CPU4−6
は、ロードモジュールを作成する際に、作業用ファイル
4−7を用いてロードモジエールを作成する。
ーボード4−1またはコマンドファイル4−2により指
示された第2図・第3図に示すようなプログラム情報に
基づいてロードモジュールを構成すべきコンパイルユニ
ットを決定する。CPU4−6は決定したコンパイルユ
ニットを入力装置であるメインコンパイルユニットファ
イル4−3、ユーザコンパイルユニットライブラリ4−
4あるいはシステムコンパイルユニットライブラリ4−
5のいずれかから入力し、ロードモジュールを作成する
。作成されたロードモジュールはロードモジュールファ
イル4−9およびロードモジュールライブラリ4−10
に出力され、作成されたロードモジュールの情報はレポ
ートアウトファイル4−8に出力される。CPU4−6
は、ロードモジュールを作成する際に、作業用ファイル
4−7を用いてロードモジエールを作成する。
次に、第2図のような呼び出し関係をもつロードモジュ
ールを作成する場合を例として本発明方式の動作を説明
する。
ールを作成する場合を例として本発明方式の動作を説明
する。
この例では、作成されるロードモジュールは5つのコン
パイルユニット1−L L−2,1′−3,1−4お
よび1−5から構成される。ここで、コンパイルユニッ
ト1−1はコンパイルユニット1−2を呼び出してオリ
、コンパイルユニット12はコンパイルユニット1−3
とコンパイルユニット1−4との2つのコンパイルユニ
ットを呼び出している。さらに、コシパイルユニット1
−3はコンパイルユニット1−5を、コンパイルユニッ
ト1−4もまたコンパイルユニット1−5を呼び出して
いる。
パイルユニット1−L L−2,1′−3,1−4お
よび1−5から構成される。ここで、コンパイルユニッ
ト1−1はコンパイルユニット1−2を呼び出してオリ
、コンパイルユニット12はコンパイルユニット1−3
とコンパイルユニット1−4との2つのコンパイルユニ
ットを呼び出している。さらに、コシパイルユニット1
−3はコンパイルユニット1−5を、コンパイルユニッ
ト1−4もまたコンパイルユニット1−5を呼び出して
いる。
第1表
LMNM= P ROGRAM 1 〜2−IPRO
C干PROGRAM1 〜2.2PROC=PROG
RAM2 PROGRAMl 〜2−3 PRO2−3PROC=PR OGRA;RAM2 〜2−4 PROC=PR2−4PRO C=PROGRA 〜2−5 PROC=PR2−5PRO C=PROGRA 〜2−6 第 2 表 LMNM=PROGRAM1 〜3−1第3表 LMNM=PROGRAM ENTRY=PROGRAM1 このような構造のロードモジュールを作成する場合に、
従来は利用者が第1表で示すようなプログラム情報をキ
ーボード4−1またはコマンドファイル4−2で与えな
ければならなかった。第1表で、LMNMステートメン
ト2−1はロードモジュール名rPROGRAMljの
作成を指示するものである。PROCステートメント2
−2.2−3.2−4.2−5および2−6は、ロード
モジュールrPROGRAM1」を構成するコンパイル
ユニットl−1,1−2,1−3、■−4および1−5
の名前を指示するものである。ここで、PROCステー
トメント2−2でのrPROGRAMIJはコンパイル
ユニット1−1の名前である。同様に、rPROGRA
M2Jはコンパイルユニット1−2の名前、rPROG
RAM31はコンパイルユニット1−3の名前、「PR
OGRAM4Jはコンパイルユニット1−4の名前、r
PROGRAM5Jはコンパイルユニット1−5の名前
である。
C干PROGRAM1 〜2.2PROC=PROG
RAM2 PROGRAMl 〜2−3 PRO2−3PROC=PR OGRA;RAM2 〜2−4 PROC=PR2−4PRO C=PROGRA 〜2−5 PROC=PR2−5PRO C=PROGRA 〜2−6 第 2 表 LMNM=PROGRAM1 〜3−1第3表 LMNM=PROGRAM ENTRY=PROGRAM1 このような構造のロードモジュールを作成する場合に、
従来は利用者が第1表で示すようなプログラム情報をキ
ーボード4−1またはコマンドファイル4−2で与えな
ければならなかった。第1表で、LMNMステートメン
ト2−1はロードモジュール名rPROGRAMljの
作成を指示するものである。PROCステートメント2
−2.2−3.2−4.2−5および2−6は、ロード
モジュールrPROGRAM1」を構成するコンパイル
ユニットl−1,1−2,1−3、■−4および1−5
の名前を指示するものである。ここで、PROCステー
トメント2−2でのrPROGRAMIJはコンパイル
ユニット1−1の名前である。同様に、rPROGRA
M2Jはコンパイルユニット1−2の名前、rPROG
RAM31はコンパイルユニット1−3の名前、「PR
OGRAM4Jはコンパイルユニット1−4の名前、r
PROGRAM5Jはコンパイルユニット1−5の名前
である。
このように従来例では、第1表に示す5つのPROCス
テートメント2−2.2−3.2−4.2−5および2
−6でロードモジュールを構成するコンパイルユニット
名を指定しなくてはならなかった。しかし、本発明の自
動ロードモジュール作成装置では、PROCステートメ
ントを利用者が指定する必要が全くなくなり、第2表で
示すLMNMステートメント3−1のみを指定すれば、
ロードモジュールrPROc;RAMIJが作成される
。
テートメント2−2.2−3.2−4.2−5および2
−6でロードモジュールを構成するコンパイルユニット
名を指定しなくてはならなかった。しかし、本発明の自
動ロードモジュール作成装置では、PROCステートメ
ントを利用者が指定する必要が全くなくなり、第2表で
示すLMNMステートメント3−1のみを指定すれば、
ロードモジュールrPROc;RAMIJが作成される
。
第1表あるいは第2表で示すプログラム情報をキーボー
ド4−1またはコマンドファイル4−2から与えると、
まず、判断手段6−1で自動呼び出しを実行するか否か
を判断する。この判断はPROCステートメントがある
が否かによりなされる。すなわち、1個でもPROCス
テートメントが指定されていれば、自動呼び出しは実行
されず、全くPROCステートメントが指定されていな
いときのみ自動呼び出しが実行される。例えば、第1表
に示すプログラム情報が与えられると、PROCステー
トメント2−2.2−3.2−4.2−5および2−6
が指定されているので、自動呼び出しは実行されない。
ド4−1またはコマンドファイル4−2から与えると、
まず、判断手段6−1で自動呼び出しを実行するか否か
を判断する。この判断はPROCステートメントがある
が否かによりなされる。すなわち、1個でもPROCス
テートメントが指定されていれば、自動呼び出しは実行
されず、全くPROCステートメントが指定されていな
いときのみ自動呼び出しが実行される。例えば、第1表
に示すプログラム情報が与えられると、PROCステー
トメント2−2.2−3.2−4.2−5および2−6
が指定されているので、自動呼び出しは実行されない。
この場合に、PROCステートメント2−2.2−3.
2−4.2−5および2−6で指定されたコンパイルユ
ニットのみを用いてロードモジュール「PROGRAM
IJを作成する。
2−4.2−5および2−6で指定されたコンパイルユ
ニットのみを用いてロードモジュール「PROGRAM
IJを作成する。
次に、第2表に示すようにPROCステートメントがひ
とつも無いプログラム情報が与えられると、自動呼び出
しが実行される。この場合には、ロードモジュールを構
成するコンパイルユニットはプログラム情報で指定され
ていないので、第一決定手段6−2と第二決定手段6−
4とにより決定される。
とつも無いプログラム情報が与えられると、自動呼び出
しが実行される。この場合には、ロードモジュールを構
成するコンパイルユニットはプログラム情報で指定され
ていないので、第一決定手段6−2と第二決定手段6−
4とにより決定される。
第一決定手段6−2では、キーボード4−1またはコマ
ンドファイル4−2から与えられたプログラム情報に基
づきロードモジュールの主となるコンパイルユニットを
決定する。第2表に示すプログラム情報が与えられた場
合に、ロードモジュールの主となるコンパイルユニット
はrPROGRAMl」である。LMNMステートメン
ト3−1は、作成されたロードモジュール名をrPRO
GRAMl」とするとともに、rPROGRAMIJと
いう名のコンパイルユニットがロードモジュールの主と
なることを指示するステートメントである。
ンドファイル4−2から与えられたプログラム情報に基
づきロードモジュールの主となるコンパイルユニットを
決定する。第2表に示すプログラム情報が与えられた場
合に、ロードモジュールの主となるコンパイルユニット
はrPROGRAMl」である。LMNMステートメン
ト3−1は、作成されたロードモジュール名をrPRO
GRAMl」とするとともに、rPROGRAMIJと
いう名のコンパイルユニットがロードモジュールの主と
なることを指示するステートメントである。
第二決定手段6−4では、ロードモジュールの主となる
コンパイルユニット以外のロードモジュールを構成する
コンパイルユニットを決定する。この決定には、コンパ
イルユニット内の他プログラム呼び出し情報を用いる。
コンパイルユニット以外のロードモジュールを構成する
コンパイルユニットを決定する。この決定には、コンパ
イルユニット内の他プログラム呼び出し情報を用いる。
他プログラム呼び出し情報とは、その情報をもつコンパ
イルユニットから呼び出しているコンパイルユニットに
関する情報である。例えば、第2図に示す呼び出し関係
が各々のコンパイルユニット間にある場合に、コンパイ
ルユニット1−1内の他プログラム呼び出し情報として
コンパイルユニット1−2の情報が入る。
イルユニットから呼び出しているコンパイルユニットに
関する情報である。例えば、第2図に示す呼び出し関係
が各々のコンパイルユニット間にある場合に、コンパイ
ルユニット1−1内の他プログラム呼び出し情報として
コンパイルユニット1−2の情報が入る。
また、コンパイルユニット1−2の他プログラム呼び出
し情報としてコンパイルユニット1−3とコンパイルユ
ニット1−4の情報が入る。コンパイルユニット1−5
からは他のコンパイルユニットを呼び出していないので
、他プログラム呼び出し情報は無い。
し情報としてコンパイルユニット1−3とコンパイルユ
ニット1−4の情報が入る。コンパイルユニット1−5
からは他のコンパイルユニットを呼び出していないので
、他プログラム呼び出し情報は無い。
コンパイルユニット1−1がロードモジュールを構成す
るひとつのコンパイルユニットである場合に、コンパイ
ルユニット1−1内の他プログラム呼び出し情報を用い
た自動呼び出しにより、コンパイルユニット1−2がロ
ードモジュールを構成するひとつのコンパイルユニット
とみなす。さらに、コンパイルユニット1−2がロード
モジュールヲ構成するひとつのコンパイルユニットとな
るから、コンパイルユニット1−3とコンパイルユニッ
トl−4もロードモジュールを構成するひとつのコンパ
イルユニットとみなす。同様に、コンパイルユニットl
−5もロードモジュールを構成するひとつのコンパイル
ユニットとみなす。自動呼び出しは他プログラム呼び出
し情報の全ての処理が終了した時点で終わる。
るひとつのコンパイルユニットである場合に、コンパイ
ルユニット1−1内の他プログラム呼び出し情報を用い
た自動呼び出しにより、コンパイルユニット1−2がロ
ードモジュールを構成するひとつのコンパイルユニット
とみなす。さらに、コンパイルユニット1−2がロード
モジュールヲ構成するひとつのコンパイルユニットとな
るから、コンパイルユニット1−3とコンパイルユニッ
トl−4もロードモジュールを構成するひとつのコンパ
イルユニットとみなす。同様に、コンパイルユニットl
−5もロードモジュールを構成するひとつのコンパイル
ユニットとみなす。自動呼び出しは他プログラム呼び出
し情報の全ての処理が終了した時点で終わる。
以上のような第一決定手段6−2と第二決定手段6−4
を用いることにより、ロードモジュール[PROGRA
MIJはこのロードモジュールの主となる。コンパイル
ユニット1−1(コンパイルユニット名rPROGRA
MIJ)から呼び出し関係のあるすべてのコンパイルユ
ニットを構成員とする。
を用いることにより、ロードモジュール[PROGRA
MIJはこのロードモジュールの主となる。コンパイル
ユニット1−1(コンパイルユニット名rPROGRA
MIJ)から呼び出し関係のあるすべてのコンパイルユ
ニットを構成員とする。
すなわち、コンパイルユニット1−1.1−2.1−3
.1−4および1−5を用いてロードモジュールrPR
OCRAMIJが作成される。
.1−4および1−5を用いてロードモジュールrPR
OCRAMIJが作成される。
ロードモジュールを構成するコンパイルユニットはメイ
ンコンパイルユニットファイル4−3、ユーザコンパイ
ルユニットライブラリ4−4あるいはシステムコンパイ
ルユニットライブラリ4−5のいずれかのうちに格納さ
れている。これら3つの入力ファイルまたはライブラリ
中のどこにコンパイルユニットが格納されているかはわ
からない。サーチ手段6−3はロードモジュールを構成
するコンパイルユニットをこれら3つの入力ファイルま
たはライブラリから探し出す。サーチ手段6−3では、
3つの入力ファイルまたはライブラリにサーチの優先順
位をつけておき、優先順位の高いファイルまたはライブ
ラリからコンパイルユニットをサーチしていく。
ンコンパイルユニットファイル4−3、ユーザコンパイ
ルユニットライブラリ4−4あるいはシステムコンパイ
ルユニットライブラリ4−5のいずれかのうちに格納さ
れている。これら3つの入力ファイルまたはライブラリ
中のどこにコンパイルユニットが格納されているかはわ
からない。サーチ手段6−3はロードモジュールを構成
するコンパイルユニットをこれら3つの入力ファイルま
たはライブラリから探し出す。サーチ手段6−3では、
3つの入力ファイルまたはライブラリにサーチの優先順
位をつけておき、優先順位の高いファイルまたはライブ
ラリからコンパイルユニットをサーチしていく。
先の例でコンパイルユニット1−2をサーチする場合に
、サーチする優先順位をメインコンパイルユニットファ
イル4−3、ユーザコンパイルユニットライブラリ4−
4、システムコンパイルユニットライブラリ4〜5の順
とする。まず、コンパイルユニット1−2ヲメインコン
パイルユニツトフアイル4−3内でサーチする。このフ
ァイル内で見つがれば、コンパイルユニット1−2はメ
インコンパイルユニットファイル4−3に格納されてい
るものとみなし、その後の2つのライブラリはサーチし
ない。
、サーチする優先順位をメインコンパイルユニットファ
イル4−3、ユーザコンパイルユニットライブラリ4−
4、システムコンパイルユニットライブラリ4〜5の順
とする。まず、コンパイルユニット1−2ヲメインコン
パイルユニツトフアイル4−3内でサーチする。このフ
ァイル内で見つがれば、コンパイルユニット1−2はメ
インコンパイルユニットファイル4−3に格納されてい
るものとみなし、その後の2つのライブラリはサーチし
ない。
コンバイルユニット1−2がメインコンパイルユニット
ファイル4−3内で見つからなかった場合には、ユーザ
コンパイルユニットライブラリ4−4をサーチする。同
様に、ユーザコンパイルユニットライブラリ4−4内で
見つからなかった場合には、システムコンパイルユニッ
トライブラリ4−5をサーチする。もし、コンパイルユ
ニット1−L’#インコンパイルユニットファイル4−
3、ユーザコンパイルユニットライブラリ4−4あるい
はシステムコンパイルユニットライブラリ4−5内のい
ずれにも格納されていなかった場合には、エラーになる
。
ファイル4−3内で見つからなかった場合には、ユーザ
コンパイルユニットライブラリ4−4をサーチする。同
様に、ユーザコンパイルユニットライブラリ4−4内で
見つからなかった場合には、システムコンパイルユニッ
トライブラリ4−5をサーチする。もし、コンパイルユ
ニット1−L’#インコンパイルユニットファイル4−
3、ユーザコンパイルユニットライブラリ4−4あるい
はシステムコンパイルユニットライブラリ4−5内のい
ずれにも格納されていなかった場合には、エラーになる
。
このようにロードモジュールを構成するコンパイルユニ
ットをサーチし、見つかったコンパイルユニットを用い
て作成手段6−5でロードモジュールを作成する。作成
手段6−5では、作成するロートモジュールのオーバレ
イ構造をロードモジュールを構成するコンパイルユニッ
ト間の呼び出し関係に基づいて自動的に決定する。ロー
ドモジュールは少なくとも1つのコンパイルユニットか
ら作られており、コンパイルユニー/ トは少なくとも
1つのオーバレイからできている。すなわち、ロードモ
ジュールは少なくとも1つのオーバレイから成り立って
いる。このオーバレイの実行時の配置構造がオーバレイ
構造である。オーバレイ構造は、実行時のプログラムの
大きさを決定し、実行時間にも影響を与える。自動呼び
出しを行わない場合には、第1表に示すプログラム情報
によって利用者がオーバレイ構造を措定していた。第1
表のプログラム情報を指定した場合に、第4図のような
オーバレイ構造をとる。本例では、1つのコンパイルユ
ニットは1つのオーバレイから成り立っており、コンパ
イルユニット1−1のオーバレイ7−1、コンパイルユ
ニット1−2のオーバレイをオーバレイ7−2、コンパ
イルユニット1−3のオーバレイをオーバレイ7−3、
コンパイルユニット1−4のオーバレイをオニバレイ7
−4またコンパイルユニット1−5のオーバレイをオー
バレイ7−5としている。
ットをサーチし、見つかったコンパイルユニットを用い
て作成手段6−5でロードモジュールを作成する。作成
手段6−5では、作成するロートモジュールのオーバレ
イ構造をロードモジュールを構成するコンパイルユニッ
ト間の呼び出し関係に基づいて自動的に決定する。ロー
ドモジュールは少なくとも1つのコンパイルユニットか
ら作られており、コンパイルユニー/ トは少なくとも
1つのオーバレイからできている。すなわち、ロードモ
ジュールは少なくとも1つのオーバレイから成り立って
いる。このオーバレイの実行時の配置構造がオーバレイ
構造である。オーバレイ構造は、実行時のプログラムの
大きさを決定し、実行時間にも影響を与える。自動呼び
出しを行わない場合には、第1表に示すプログラム情報
によって利用者がオーバレイ構造を措定していた。第1
表のプログラム情報を指定した場合に、第4図のような
オーバレイ構造をとる。本例では、1つのコンパイルユ
ニットは1つのオーバレイから成り立っており、コンパ
イルユニット1−1のオーバレイ7−1、コンパイルユ
ニット1−2のオーバレイをオーバレイ7−2、コンパ
イルユニット1−3のオーバレイをオーバレイ7−3、
コンパイルユニット1−4のオーバレイをオニバレイ7
−4またコンパイルユニット1−5のオーバレイをオー
バレイ7−5としている。
第1表のPROCステートメント2−3に基づきコンパ
イルユニット1−2(オーバレイ7−2)がコンパイル
ユニーl−1−1(オーバレイ7−1)の下につくこと
が指定される。同様にして、PROCステートメント2
−4.2−5および2−6に基づき第4図に示すオーバ
レイ構造が定義される。
イルユニット1−2(オーバレイ7−2)がコンパイル
ユニーl−1−1(オーバレイ7−1)の下につくこと
が指定される。同様にして、PROCステートメント2
−4.2−5および2−6に基づき第4図に示すオーバ
レイ構造が定義される。
自動呼び出しを行う場合には、第2表に示すプログラム
情報を利用者が指定する。この場合にオーバレイ構造は
利用者が指定するのではなく、作成手段6−5で自動的
に決定される。この決定には先に述べたコンパイルユニ
ット内の他プログラム呼び出し情報を用いる。第2図に
示す呼び出し関係がコンパイルユニット間にある場合に
、コンパイルユニット1−1の他プログラム呼び出し情
報でコンパイルユニット1−2が示されている。したが
って、コンパイルユニット1−2(オーバレイ8−2)
はコンパイルユニット1−1(オーバレイ8−1)の下
につくとみなす。同様に、コンパイルユニット1=3(
オーバレイ8−3)はコンパイルユニット1−2(オー
バレイ8−2)の下につき、コンパイルユニット1−4
(オーバレイ8−4)もコンパイルユニット1−2(オ
ーバレイ8−2)の下につく。コンパイルユニット1−
3とコンパイルユニット1−4から呼び出されているの
で、コンパイルユニット1−5(オーバレイ8−5)は
コンパイルユニット1−3(オーバレイ8−3)とコン
パイルユニット1−4(オーバレイ8−4)との下につ
く。以上のようにして決定した自動呼び出しにおけるオ
ーバレイ構造を示したのが第5図である。
情報を利用者が指定する。この場合にオーバレイ構造は
利用者が指定するのではなく、作成手段6−5で自動的
に決定される。この決定には先に述べたコンパイルユニ
ット内の他プログラム呼び出し情報を用いる。第2図に
示す呼び出し関係がコンパイルユニット間にある場合に
、コンパイルユニット1−1の他プログラム呼び出し情
報でコンパイルユニット1−2が示されている。したが
って、コンパイルユニット1−2(オーバレイ8−2)
はコンパイルユニット1−1(オーバレイ8−1)の下
につくとみなす。同様に、コンパイルユニット1=3(
オーバレイ8−3)はコンパイルユニット1−2(オー
バレイ8−2)の下につき、コンパイルユニット1−4
(オーバレイ8−4)もコンパイルユニット1−2(オ
ーバレイ8−2)の下につく。コンパイルユニット1−
3とコンパイルユニット1−4から呼び出されているの
で、コンパイルユニット1−5(オーバレイ8−5)は
コンパイルユニット1−3(オーバレイ8−3)とコン
パイルユニット1−4(オーバレイ8−4)との下につ
く。以上のようにして決定した自動呼び出しにおけるオ
ーバレイ構造を示したのが第5図である。
自動呼び出しを用いない場合には第2表に示すプログラ
ム情報を用いて利用者がオーバレイ構造を自由に指定で
きる。自動呼び出しを用いた場合には、先に述べたプロ
グラムの大きさと実行時間を考慮して、コンパイルユニ
ット内の他プログラム呼び出し情報を用いてオーバレイ
構造を自動的に決定する。
ム情報を用いて利用者がオーバレイ構造を自由に指定で
きる。自動呼び出しを用いた場合には、先に述べたプロ
グラムの大きさと実行時間を考慮して、コンパイルユニ
ット内の他プログラム呼び出し情報を用いてオーバレイ
構造を自動的に決定する。
このようにして決定したオーバレイ構造をもつロードモ
ジュールが作成手段6−5で作られる。
ジュールが作成手段6−5で作られる。
第2表に示すプログラム情報が与えられた場合に、作成
するロードモジエールの名前とロードモジュールを構成
するコンパイルユニットの主となるコンパイルユニット
1−1の名前とは同じである。
するロードモジエールの名前とロードモジュールを構成
するコンパイルユニットの主となるコンパイルユニット
1−1の名前とは同じである。
しかし、作成するロードモジュール名とコンパイルユニ
ット1−1の名前とを同じ名前にしなくてもよい。この
場合に第3表に示すプログラム情報を与えれば、第2表
のように指示したのと同じ形式のロードモジュールが作
成される。このときに作成されたロードモジュール名は
rPROGRAMJとなり、ロードモジュールrPRO
GRAMJの主となるコンパイルユニットはコンパイル
ユニット名rPROGRAMIJである。
ット1−1の名前とを同じ名前にしなくてもよい。この
場合に第3表に示すプログラム情報を与えれば、第2表
のように指示したのと同じ形式のロードモジュールが作
成される。このときに作成されたロードモジュール名は
rPROGRAMJとなり、ロードモジュールrPRO
GRAMJの主となるコンパイルユニットはコンパイル
ユニット名rPROGRAMIJである。
本発明は、以上説明したように、少なくとも1つのコン
パイルユニットからロードモジュールを作成するときに
ロードモジュールを構成するコンパイルユニットを利用
者が指定する必要がなく、したがって、コンパイルユニ
ットを指定するための前準備の必要がなくなり、また、
パンチミスなどによるコンパイルユニットの指定ミスが
なくなり、−回のリンカの実行でロードモジュールを作
成できるので、ロードモジュールの作成を容易にする効
果がある。
パイルユニットからロードモジュールを作成するときに
ロードモジュールを構成するコンパイルユニットを利用
者が指定する必要がなく、したがって、コンパイルユニ
ットを指定するための前準備の必要がなくなり、また、
パンチミスなどによるコンパイルユニットの指定ミスが
なくなり、−回のリンカの実行でロードモジュールを作
成できるので、ロードモジュールの作成を容易にする効
果がある。
また、ある程度オーバレイ構造を意識したロードモジュ
ールを作成できる効果がある。
ールを作成できる効果がある。
第1図は本発明実施例方式の構成を示すブロック構成図
。 第2図は本発明実施例方式の動作を示す説明図。 第3図は本発明実施例方式の処理の流れを示すフロー図
。 第4図および第5図はオーバレイ構造の構成を示す説明
図。 1−1.1−2.1−3.1−4.1−5・・・コンパ
イルユニット、4−1・・・キーボード、4−2・・・
コマンドファイル、4−3・・・メインコンパイルユニ
ットファイル、4−4・・・ユーザコンパイルユニット
ライブラリ、4−5・・・システムコンパイルユニット
ライブラリ、4−6・・・CPU、4−7・・・作業用
ファイル、4−8・・・レポートアウトファイル、4−
9・・・ロードモジュールファイル、4−10・・・ロ
ードモジュールライブラリ、6−1・・・判断手段、6
−2・・・第一決定手段、6−3・・・サーチ手段、6
−4・・・・・・第二決定手段、6−5・・・作成手段
、7−17−2.7−3.7〜4.7−5.8−1.8
−29.8−3.8−4.8−5・・・オーバレイ。 特許出願人代理人 、−88、弁理士 井
出 直 孝 ′X。 、ノ ↓ 実施例の構成 第1図 実施例の動作 第2図 実施例の処理手順 第3図 オーバレイ構造 オーバレイ構造I造 第5図
。 第2図は本発明実施例方式の動作を示す説明図。 第3図は本発明実施例方式の処理の流れを示すフロー図
。 第4図および第5図はオーバレイ構造の構成を示す説明
図。 1−1.1−2.1−3.1−4.1−5・・・コンパ
イルユニット、4−1・・・キーボード、4−2・・・
コマンドファイル、4−3・・・メインコンパイルユニ
ットファイル、4−4・・・ユーザコンパイルユニット
ライブラリ、4−5・・・システムコンパイルユニット
ライブラリ、4−6・・・CPU、4−7・・・作業用
ファイル、4−8・・・レポートアウトファイル、4−
9・・・ロードモジュールファイル、4−10・・・ロ
ードモジュールライブラリ、6−1・・・判断手段、6
−2・・・第一決定手段、6−3・・・サーチ手段、6
−4・・・・・・第二決定手段、6−5・・・作成手段
、7−17−2.7−3.7〜4.7−5.8−1.8
−29.8−3.8−4.8−5・・・オーバレイ。 特許出願人代理人 、−88、弁理士 井
出 直 孝 ′X。 、ノ ↓ 実施例の構成 第1図 実施例の動作 第2図 実施例の処理手順 第3図 オーバレイ構造 オーバレイ構造I造 第5図
Claims (1)
- (1)入力ファイルおよび入力ライブラリに格納された
コンパイルユニットから所望のロードモジュールを作成
するロードモジュール作成装置において、 外部から与えられたプログラム情報に基づき自動呼び出
しを行うコンパイルユニットを決定する第一の決定手段
と、 この第一の決定手段で決定したコンパイルユニットを上
記入力ファイルおよび入力ライブラリから探索する第一
のサーチ手段と、 この第一のサーチ手段で探索されたコンパイルユニット
内の他プログラム呼び出し情報に基づき自動呼び出しを
行うコンパイルユニットを決定する第二の決定手段と、 この第二の決定手段で決定したコンパイルユニットを上
記入力ファイルおよび入力ライブラリから探索する第二
のサーチ手段と、 上記第一および第二のサーチ手段で探索されたコンパイ
ルユニットを用いて、コンパイルユニット間の呼び出し
関係に基づきロードモジュールを作成する作成手段と を備えたことを特徴とするロードモジュール作成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26508786A JPS63118837A (ja) | 1986-11-06 | 1986-11-06 | ロ−ドモジユ−ル作成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26508786A JPS63118837A (ja) | 1986-11-06 | 1986-11-06 | ロ−ドモジユ−ル作成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63118837A true JPS63118837A (ja) | 1988-05-23 |
Family
ID=17412414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26508786A Pending JPS63118837A (ja) | 1986-11-06 | 1986-11-06 | ロ−ドモジユ−ル作成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63118837A (ja) |
-
1986
- 1986-11-06 JP JP26508786A patent/JPS63118837A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2666847B2 (ja) | 異種言語間連絡方式 | |
JPH02272627A (ja) | デイジタル・コンピユータ・システムとその手続呼び出し方法 | |
JPH01154267A (ja) | 入出力機器制御プログラムのアドレス解決方法 | |
WO2005086906A2 (en) | Dependency graph parameter scoping | |
US5511167A (en) | Program processing method and apparatus for producing a data flow type program | |
JPH07230386A (ja) | データ処理装置及び制御ルーチン呼出し方法 | |
JPH0736529A (ja) | 数値制御装置の制御ソフトウェア実行システム | |
JPS63118837A (ja) | ロ−ドモジユ−ル作成装置 | |
US6311227B1 (en) | Procedure calling method | |
JP2722358B2 (ja) | プログラム作成支援システム | |
JP3191263B2 (ja) | 最適オブジェクト選択実行処理装置 | |
JPH0390933A (ja) | ソフトウェアプログラム自動生成方式 | |
JP2003076547A (ja) | 制御ソフトウェア自動生成システムおよび方法 | |
JP2002312167A (ja) | 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法 | |
JPS63106047A (ja) | 動的サブル−チン呼び出し方式 | |
JP2003076558A (ja) | プログラム実行制御方法及びプログラム実行制御プログラム | |
JP2831721B2 (ja) | 演算器割当て装置 | |
JP2831726B2 (ja) | 記憶要素割当て支援装置 | |
JPH0371229A (ja) | プログラム制御装置 | |
JPH0430239A (ja) | コマンドオプション指定処理装置 | |
JPH0397037A (ja) | インタプリタにおける並列処理実行制御方式 | |
JP2601541B2 (ja) | Fortran入出力並び処理方式 | |
JPS6220007A (ja) | 数値制御装置の命令追加方式 | |
AU2011204916B2 (en) | Managing parameter access in a task managing system | |
JPS5846439A (ja) | 計算機のプログラム編集方法 |