JPH0239242A - 電子計算機システムの一時作業領域割付方式 - Google Patents
電子計算機システムの一時作業領域割付方式Info
- Publication number
- JPH0239242A JPH0239242A JP19036388A JP19036388A JPH0239242A JP H0239242 A JPH0239242 A JP H0239242A JP 19036388 A JP19036388 A JP 19036388A JP 19036388 A JP19036388 A JP 19036388A JP H0239242 A JPH0239242 A JP H0239242A
- Authority
- JP
- Japan
- Prior art keywords
- temporary work
- work area
- program
- area
- maximum
- 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 14
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は電子計算機システムで用いられるコンパイラと
リンカにおける目的プログラムのリンク方式に関する。
リンカにおける目的プログラムのリンク方式に関する。
特に、コンパイラが生成する一時作業領域の割付処理に
関する。
関する。
本発明は原始プログラムを翻訳して目的プログラムを生
成した後に複数の目的プログラムをリンクして実行形式
プログラムを生成する電子計算機システムの一時作業領
域割付方式において、目的プログラム中で使用する一時
作業領域に対して最大の領域を一つ割付け、すべての一
時領域をその領域に重ね合わせて割付けることにより、
リンクする目的プログラムが増加しても一時作業領域と
して必要な領域を増加させないようにするものである。
成した後に複数の目的プログラムをリンクして実行形式
プログラムを生成する電子計算機システムの一時作業領
域割付方式において、目的プログラム中で使用する一時
作業領域に対して最大の領域を一つ割付け、すべての一
時領域をその領域に重ね合わせて割付けることにより、
リンクする目的プログラムが増加しても一時作業領域と
して必要な領域を増加させないようにするものである。
従来、コンパイラで生成された各目的プログラム中の一
時作業領域はそれぞれ別の領域に割付けられリンク処理
されていた。
時作業領域はそれぞれ別の領域に割付けられリンク処理
されていた。
上述した従来のリンク方式では、各目的プログラム中の
一時作業領域はすべて別の領域を占めるためにリンクす
るプログラム本数が多くなるに伴って、一時作業領域を
割付けるために必要な領域も多くなる欠点があった。
一時作業領域はすべて別の領域を占めるためにリンクす
るプログラム本数が多くなるに伴って、一時作業領域を
割付けるために必要な領域も多くなる欠点があった。
本発明はこのような欠点を除去するもので、リンクする
プログラムの本数が多くなっても一時作業領域として必
要な領域を増加させずにリンク処理できる方式を提供す
ることを目的とする。
プログラムの本数が多くなっても一時作業領域として必
要な領域を増加させずにリンク処理できる方式を提供す
ることを目的とする。
本発明は、原始プログラムを翻訳して目的プログラムを
生成した後に複数の目的プログラムをリンクして実行形
式プログラムを生成するコンパイラを備えた電子計算機
システムの一時作業領域割付方式において、上記コンパ
イラは、一時作業領域を原始プログラム中のデータ領域
とは別の一時作業領域セグメントとして目的プログラム
中に出力する手段を含み、目的プログラムを入力する目
的プログラム入力手段と、入力した複数の目的プログラ
ム中の最大の一時作業領域セグメントを判定する最大一
時作業領域判定手段と、この最大一時作業領域判定手段
で判定された最大の一時作業領域セグメントをメモリに
割付ける一時作業領域割付手段と、各目的プログラム中
の一時作業領域セグメントを最大一時作業領域セグメン
トに重ねて同一の領域を時分割的に使うようにリンクす
る一時作業領域リンク手段と、これらの手段により生成
された実行形式プログラムを出力する実行形式プログラ
ム出力手段とを含むリンカを備えたことをvF徴とする
。
生成した後に複数の目的プログラムをリンクして実行形
式プログラムを生成するコンパイラを備えた電子計算機
システムの一時作業領域割付方式において、上記コンパ
イラは、一時作業領域を原始プログラム中のデータ領域
とは別の一時作業領域セグメントとして目的プログラム
中に出力する手段を含み、目的プログラムを入力する目
的プログラム入力手段と、入力した複数の目的プログラ
ム中の最大の一時作業領域セグメントを判定する最大一
時作業領域判定手段と、この最大一時作業領域判定手段
で判定された最大の一時作業領域セグメントをメモリに
割付ける一時作業領域割付手段と、各目的プログラム中
の一時作業領域セグメントを最大一時作業領域セグメン
トに重ねて同一の領域を時分割的に使うようにリンクす
る一時作業領域リンク手段と、これらの手段により生成
された実行形式プログラムを出力する実行形式プログラ
ム出力手段とを含むリンカを備えたことをvF徴とする
。
コンパイラが一時作業領域を原始プログラム中のデータ
領域とは別のセグメントとして目的プログラム中に出力
し、目的プログラム入力手段がその目的プログラムを入
力する。最大一時作業領域判定手段が入力した複数の目
的プログラム中の最大の一時作業領域セグメントを判定
し、最大一時作業領域判定手段で判定された最大の一時
作業領域セグメントを一時作業領域割付手段がメモリに
割付ける。その後一時作業領域リンク手段が各目的プロ
グラム中の一時作業領域セグメントを最大一時作業領域
セグメントに重ねて同一の領域を時分割的に繰り返しイ
吏うようにリンクし、プログラム出力手段が生成された
実行形式プログラムを出力する。
領域とは別のセグメントとして目的プログラム中に出力
し、目的プログラム入力手段がその目的プログラムを入
力する。最大一時作業領域判定手段が入力した複数の目
的プログラム中の最大の一時作業領域セグメントを判定
し、最大一時作業領域判定手段で判定された最大の一時
作業領域セグメントを一時作業領域割付手段がメモリに
割付ける。その後一時作業領域リンク手段が各目的プロ
グラム中の一時作業領域セグメントを最大一時作業領域
セグメントに重ねて同一の領域を時分割的に繰り返しイ
吏うようにリンクし、プログラム出力手段が生成された
実行形式プログラムを出力する。
これにより、リンクする目的プログラムが増加しても一
時作業領域として必要な領域を増加させることなく割付
は処理を行うことができる。
時作業領域として必要な領域を増加させることなく割付
は処理を行うことができる。
次に、本発明実施例について図面を参照して説明する。
第1図は本発明実施例の構成を示すブロック図である。
本発明実施例は翻訳およびリンクの対象となる原始プロ
グラム1と、翻訳処理を行うコンパイラ2と、コンパイ
ラ2により翻訳された原始プログラム1の目的プログラ
ム3と、目的プログラム3を入力する目的プログラム入
力手段4、各目的プログラム中の最大の一時作業領域セ
グメントを判定する最大一時作業領域判定手段5、判定
された最大の一時作業領域セグメントを割付ける一時作
業領域割付手段6、各目的プログラム中の一時作業領域
セグメントを一時作業領域割付手段6で割付けられた領
域に重ねてリンク処理を行う一時作業領域リンク手段7
および生成された実行形式プログラムを出力(本実施例
では外部ファイルへ出力)する実行形式プログラム出力
手段8を含むリンカ9と、出力された実行形式プログラ
ム10とを備える。
グラム1と、翻訳処理を行うコンパイラ2と、コンパイ
ラ2により翻訳された原始プログラム1の目的プログラ
ム3と、目的プログラム3を入力する目的プログラム入
力手段4、各目的プログラム中の最大の一時作業領域セ
グメントを判定する最大一時作業領域判定手段5、判定
された最大の一時作業領域セグメントを割付ける一時作
業領域割付手段6、各目的プログラム中の一時作業領域
セグメントを一時作業領域割付手段6で割付けられた領
域に重ねてリンク処理を行う一時作業領域リンク手段7
および生成された実行形式プログラムを出力(本実施例
では外部ファイルへ出力)する実行形式プログラム出力
手段8を含むリンカ9と、出力された実行形式プログラ
ム10とを備える。
コンパイラ2は一時作業領域を原始プログラム1中のデ
ータ領域とは別の一時作業領域セグメントとして目的プ
ログラム3中に出力する手段を含む。
ータ領域とは別の一時作業領域セグメントとして目的プ
ログラム3中に出力する手段を含む。
第2図は本発明実施例の目的プログラム入力手段4の処
理の流れを示す図であり、目的プログラム入力手段4は
目的プログラム有無判定部41および目的プログラムの
読込み部42を含む。
理の流れを示す図であり、目的プログラム入力手段4は
目的プログラム有無判定部41および目的プログラムの
読込み部42を含む。
第3図は本発明実施例の最大一時作業領域判定手段5の
処理の流れを示す図であり、最大一時作業領域判定手段
5はサイズカウンタ初期化部51、目的プログラム有無
判定部52、一時作業領域セグメントサイズ取出し部5
3、サイズ比較部54、サイズカウンタ更新部55を含
む。
処理の流れを示す図であり、最大一時作業領域判定手段
5はサイズカウンタ初期化部51、目的プログラム有無
判定部52、一時作業領域セグメントサイズ取出し部5
3、サイズ比較部54、サイズカウンタ更新部55を含
む。
第4図は本発明実施例の一時作業領域割付手段6の処理
の流れを示す図であり、一時作業領域割付手段6は一時
作業領域用領域割付処理部61を含む。
の流れを示す図であり、一時作業領域割付手段6は一時
作業領域用領域割付処理部61を含む。
第5図は本発明実施例の一時作業領域リンク手段の処理
の流れを示す図であり、一時作業領域リンク手段7は目
的プログラム有無判定部71、一時作業領域セグメント
の重ね合せ部72、一時作業領域のリンク処理部73を
含む。
の流れを示す図であり、一時作業領域リンク手段7は目
的プログラム有無判定部71、一時作業領域セグメント
の重ね合せ部72、一時作業領域のリンク処理部73を
含む。
第6図は本発明実施例の実行形式プログラム出力手段の
処理の流れを示す図であり、実行形式プログラム出力手
段8は実行形式プログラム書出し部81を含む。
処理の流れを示す図であり、実行形式プログラム出力手
段8は実行形式プログラム書出し部81を含む。
次に、このように構成された本発明実施例の動作につい
て説明する。
て説明する。
コンパイラ2は原始プログラム1を入力して目的プログ
ラム3を出力するが、このとき生成した一時作業領域は
すべてまとめて別の一つのセグメントを形成するように
目的プログラムを作る。このようにして作成された目的
プログラム3は次にリンカ9でリンク処理がなされ、実
行形式プログラム10が出力される。
ラム3を出力するが、このとき生成した一時作業領域は
すべてまとめて別の一つのセグメントを形成するように
目的プログラムを作る。このようにして作成された目的
プログラム3は次にリンカ9でリンク処理がなされ、実
行形式プログラム10が出力される。
リンカ9のリンク処理では、第2図に示すように目的プ
ログラム入力手段4の目的プログラム有無判定部41で
次に読込むべき目的プログラムが無いと判断されるまで
目的プログラムの読込み部42が各目的プログラムの全
てを読込む。
ログラム入力手段4の目的プログラム有無判定部41で
次に読込むべき目的プログラムが無いと判断されるまで
目的プログラムの読込み部42が各目的プログラムの全
てを読込む。
次に最大一時作業領域判定手段5では、第3図に示すよ
うにサイズカウンタ初期化部51が最大の一時作業領域
セグメントの大きさを保持るカウンタであるサイズカウ
ンタを0に初期化した後、目的プログラム有無判定部5
2が目的プログラムの有無を判定し、目的プログラムが
有る場合は一時作業領域セグメントサイズ取出し部53
がそのセグメントのサイズを取出し、サイズ比較部54
が目的プログラム中の一時作業領域セグメントのサイズ
とサイズカウンタとを比較し、目的プログラム中の一時
作業領域セグメントのサイズの方が大きい場合には、サ
イズカウンタ更新部55がサイズカウンタの値をその一
時作業領域セグメントのサイズで更新し、それ以外の場
合はサイズカウンタの値を変更しない。この処理を入力
したすべての目的プログラムに対して実施し、入力した
各目的プログラムの中の最大の一時作業領域セグメント
のサイズをサイズカウンタに得る。
うにサイズカウンタ初期化部51が最大の一時作業領域
セグメントの大きさを保持るカウンタであるサイズカウ
ンタを0に初期化した後、目的プログラム有無判定部5
2が目的プログラムの有無を判定し、目的プログラムが
有る場合は一時作業領域セグメントサイズ取出し部53
がそのセグメントのサイズを取出し、サイズ比較部54
が目的プログラム中の一時作業領域セグメントのサイズ
とサイズカウンタとを比較し、目的プログラム中の一時
作業領域セグメントのサイズの方が大きい場合には、サ
イズカウンタ更新部55がサイズカウンタの値をその一
時作業領域セグメントのサイズで更新し、それ以外の場
合はサイズカウンタの値を変更しない。この処理を入力
したすべての目的プログラムに対して実施し、入力した
各目的プログラムの中の最大の一時作業領域セグメント
のサイズをサイズカウンタに得る。
これらの処理によって得たサイズカウンタの値を元にし
て第4図に示すように一時作業領域割付手段6の一時作
業領域用割付処理部61で最大の一時作業領域セグメン
トが入るように十分な領域を割付ける。
て第4図に示すように一時作業領域割付手段6の一時作
業領域用割付処理部61で最大の一時作業領域セグメン
トが入るように十分な領域を割付ける。
一時作業領域リンク手段7では、第5図に示すように目
的プログラム有無判定部71が目的プログラムの有無を
判定し、目的プログラムが有る場合は一時作業領域セグ
メントの重ね合せ部72で各目的プログラム中の一時作
業領域セグメン・トをすべて一時作業領域用領域割付処
理部61で割付けられた領域に重ね合せて割付け、これ
らの一時作業領域を参照している命令のアドレス部に対
して、時作業領域のリンク処理部73の処理で重ね合せ
た領域のアドレスを用いて書き替える。
的プログラム有無判定部71が目的プログラムの有無を
判定し、目的プログラムが有る場合は一時作業領域セグ
メントの重ね合せ部72で各目的プログラム中の一時作
業領域セグメン・トをすべて一時作業領域用領域割付処
理部61で割付けられた領域に重ね合せて割付け、これ
らの一時作業領域を参照している命令のアドレス部に対
して、時作業領域のリンク処理部73の処理で重ね合せ
た領域のアドレスを用いて書き替える。
この領域の重ね合せと、アドレスの書き替えをすべての
目的プログラムについて行い、生成した実行形式プログ
ラムは、第6図に示すように次の実行形式プログラム出
力手段8の実行形式プログラム書出し部81によって実
行形式プログラム10として外部ファイルに書き出され
る。
目的プログラムについて行い、生成した実行形式プログ
ラムは、第6図に示すように次の実行形式プログラム出
力手段8の実行形式プログラム書出し部81によって実
行形式プログラム10として外部ファイルに書き出され
る。
以上説明したように本発明によれば、複数の目的プログ
ラムをリンクして1つの実行形式プログラムう作成する
場合に、それらの目的プログラム中で使用する一時作業
領域に対して最大の領域を一つ割付け、すべての一時領
域をその領域に重ね合わせて割付けるため、リンクする
目的プログラムが増加しても最大の大きさが変わらない
限り一時作業領域として必要な領域が増加しない効果が
ある。
ラムをリンクして1つの実行形式プログラムう作成する
場合に、それらの目的プログラム中で使用する一時作業
領域に対して最大の領域を一つ割付け、すべての一時領
域をその領域に重ね合わせて割付けるため、リンクする
目的プログラムが増加しても最大の大きさが変わらない
限り一時作業領域として必要な領域が増加しない効果が
ある。
第1図は本発明実施例の構成を示すブロック図。
第2図は本発明実施例の目的プログラム入力手段の処理
の流れを示す流れ図。 第3図は本発明実施例の最大一時作業領域判定手段の処
理の流れを示す流れ図。 第4図は本発明実施例の一時作業領域割付手段の処理の
流れを示す流れ図。 第5図は本発明実施例の一時作業領域リンク手段の処理
の流れを示す流れ図。 第6図は本発明実施例の実行形式プログラム出力手段の
処理の流れを示す流れ図。 1・・・原始プログラム、2・・・コンパイラ、3・・
・目的プログラム、4・・・目的プログラム入力手段、
5・・・最大一時作業領域判定手段、6・・・一時作業
領域割付手段、7・・・一時作業領域リンク手段、訃・
・実行形式プログラム出力手段、9・・・リンカ、10
・・・実行形式プログラム。
の流れを示す流れ図。 第3図は本発明実施例の最大一時作業領域判定手段の処
理の流れを示す流れ図。 第4図は本発明実施例の一時作業領域割付手段の処理の
流れを示す流れ図。 第5図は本発明実施例の一時作業領域リンク手段の処理
の流れを示す流れ図。 第6図は本発明実施例の実行形式プログラム出力手段の
処理の流れを示す流れ図。 1・・・原始プログラム、2・・・コンパイラ、3・・
・目的プログラム、4・・・目的プログラム入力手段、
5・・・最大一時作業領域判定手段、6・・・一時作業
領域割付手段、7・・・一時作業領域リンク手段、訃・
・実行形式プログラム出力手段、9・・・リンカ、10
・・・実行形式プログラム。
Claims (1)
- 【特許請求の範囲】 1、原始プログラムを翻訳して目的プログラムを生成し
た後に複数の目的プログラムをリンクして実行形式プロ
グラムを生成するコンパイラ(2)を備えた電子計算機
システムの一時作業領域割付方式において、 上記コンパイラは、一時作業領域を原始プログラム中の
データ領域とは別の一時作業領域セグメントとして目的
プログラム中に出力する手段を含み、 目的プログラムを入力する目的プログラム入力手段(4
)と、 入力した複数の目的プログラム中の最大の一時作業領域
セグメントを判定する最大一時作業領域判定手段(5)
と、 この最大一時作業領域判定手段で判定された最大の一時
作業領域セグメントをメモリに割付ける一時作業領域割
付手段(6)と、 各目的プログラム中の一時作業領域セグメントを最大一
時作業領域セグメントに重ねて同一の領域を時分割的に
使うようにリンクする一時作業領域リンク手段(7)と
、 これらの手段により生成された実行形式プログラムを出
力する実行形式プログラム出力手段(8)と を含むリンカ(9)を備えたことを特徴とする電子計算
機システムの一時作業領域割付方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19036388A JPH0239242A (ja) | 1988-07-28 | 1988-07-28 | 電子計算機システムの一時作業領域割付方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19036388A JPH0239242A (ja) | 1988-07-28 | 1988-07-28 | 電子計算機システムの一時作業領域割付方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0239242A true JPH0239242A (ja) | 1990-02-08 |
Family
ID=16256940
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19036388A Pending JPH0239242A (ja) | 1988-07-28 | 1988-07-28 | 電子計算機システムの一時作業領域割付方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0239242A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113112193A (zh) * | 2020-01-13 | 2021-07-13 | 北京京东振世信息技术有限公司 | 用于确定包裹位置的方法、装置、服务器和介质 |
-
1988
- 1988-07-28 JP JP19036388A patent/JPH0239242A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113112193A (zh) * | 2020-01-13 | 2021-07-13 | 北京京东振世信息技术有限公司 | 用于确定包裹位置的方法、装置、服务器和介质 |
| CN113112193B (zh) * | 2020-01-13 | 2024-05-24 | 北京京东振世信息技术有限公司 | 用于确定包裹位置的方法、装置、服务器和介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0239242A (ja) | 電子計算機システムの一時作業領域割付方式 | |
| JP2527055B2 (ja) | タスク内共有変数検出処理方式 | |
| JPH02163831A (ja) | オブジェクトプログラム削減方式 | |
| JPH04145536A (ja) | プログラム変換処理システムにおけるアドレス再配置処理方式 | |
| JPH02171831A (ja) | コンパイラのデータ接近方式 | |
| JPH0373026A (ja) | コンパイル方式 | |
| JPH0390931A (ja) | Rom化プログラムの生成方法 | |
| JPH07129408A (ja) | 言語処理プログラムの実行方式 | |
| JPH02201541A (ja) | コンパイル方式 | |
| JPS59121442A (ja) | 目的コ−ド生成処理方法 | |
| JPH03266023A (ja) | 変数の動的結合方式 | |
| JPH02130637A (ja) | ソースコード翻訳方式 | |
| JPH0381829A (ja) | 高級言語プログラムの初期値を有したスタティック変数参照方式 | |
| JPH0196738A (ja) | データフロー型計算機のプログラム書換え方式 | |
| JPH03157724A (ja) | 動的リンクによるプログラムロード方式 | |
| JPS63163636A (ja) | 並列処理実行方式 | |
| JPH04178738A (ja) | レジスタアロケーション方式 | |
| JPH04299426A (ja) | 関数のアーギュメント/パラメータ引渡し方式 | |
| JPS6327937A (ja) | 計算機システムの絶対マイナス1番地認識方式 | |
| JPH023832A (ja) | 書式なし入出力文を含む原始プログラム翻訳方式 | |
| JPH0451324A (ja) | プログラミング装置 | |
| JPS61276029A (ja) | スタツク制御方式 | |
| JPS6320683A (ja) | ベクトル代入最適化処理方式 | |
| JPH04320535A (ja) | プログラム生成装置 | |
| JPH02156332A (ja) | プロセス間共有コード管理方式 |