JPH03163628A - データオブジェクト最適化方式 - Google Patents
データオブジェクト最適化方式Info
- Publication number
- JPH03163628A JPH03163628A JP30288589A JP30288589A JPH03163628A JP H03163628 A JPH03163628 A JP H03163628A JP 30288589 A JP30288589 A JP 30288589A JP 30288589 A JP30288589 A JP 30288589A JP H03163628 A JPH03163628 A JP H03163628A
- Authority
- JP
- Japan
- Prior art keywords
- name
- data
- user
- information
- entry
- 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
- 150000001768 cations Chemical class 0.000 abstract 1
- 239000002699 waste material Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は電子計算機システムのコンパイラにおけるデー
タオブジェクト最適化方式に関するものである. 〔従来の技術〕 高級プログラ≧ング言語で記述された原始プログラム中
には、使用(参照)されないデータの定義( ill用
者定義語)が含まれることがしばしばある. ところで、従来のコンパイラにあっては、その参照解決
処理において、原始プログラム中で定義されている全て
のデータが記憶域の割り付1,(データ割り付け)の対
象となっており、よって、上記の使用されないデータに
ついてもデータ割り付けを行っていた. 〔発明が解決しようとする課題〕 上述したように、従来のコンパイラにあっては、使用さ
れないデータについてもデータ割り付けが行われるため
、使用されないデータの量が多い場合にはそのための記
憶域も多く確保されることとなり、生戒されるオブジェ
クトプログラムのサイズが大きくなって記憶域を圧迫す
るという欠点があった. 本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、使用されないデータによるオブジェ
クトプログラムサイズの大型化を防止することのできる
データオブジェクトa適化方式を提供することにある。
タオブジェクト最適化方式に関するものである. 〔従来の技術〕 高級プログラ≧ング言語で記述された原始プログラム中
には、使用(参照)されないデータの定義( ill用
者定義語)が含まれることがしばしばある. ところで、従来のコンパイラにあっては、その参照解決
処理において、原始プログラム中で定義されている全て
のデータが記憶域の割り付1,(データ割り付け)の対
象となっており、よって、上記の使用されないデータに
ついてもデータ割り付けを行っていた. 〔発明が解決しようとする課題〕 上述したように、従来のコンパイラにあっては、使用さ
れないデータについてもデータ割り付けが行われるため
、使用されないデータの量が多い場合にはそのための記
憶域も多く確保されることとなり、生戒されるオブジェ
クトプログラムのサイズが大きくなって記憶域を圧迫す
るという欠点があった. 本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、使用されないデータによるオブジェ
クトプログラムサイズの大型化を防止することのできる
データオブジェクトa適化方式を提供することにある。
本発明は上記の目的を達戒するため、原始プログラムの
コンパイル時における利用者定義語の参照解決処理にお
いて、 入力した中間テキストが利用者定義語である場合に名前
とそれに関する情報を1エントリとする名前テーブルを
作成する名前テーブル作成手段と、作成された名前テー
ブルを走査し、名前がデータ名であればそのデータ名も
しくはその下位レベルにあるデータ名の参照があるか否
かを判定し、参照がなくその利用者定義語が最上位レベ
ルのものであれば名前で示される利用者定義語およびそ
の下位レベルにある全ての利用者定義語に関する情報を
名前テーブル内から削除するテーブル情報削減手段と、 名前テーブルから名前を入力し、データの割り付けを行
うデータ割り付け手段とを備えるようにしている。
コンパイル時における利用者定義語の参照解決処理にお
いて、 入力した中間テキストが利用者定義語である場合に名前
とそれに関する情報を1エントリとする名前テーブルを
作成する名前テーブル作成手段と、作成された名前テー
ブルを走査し、名前がデータ名であればそのデータ名も
しくはその下位レベルにあるデータ名の参照があるか否
かを判定し、参照がなくその利用者定義語が最上位レベ
ルのものであれば名前で示される利用者定義語およびそ
の下位レベルにある全ての利用者定義語に関する情報を
名前テーブル内から削除するテーブル情報削減手段と、 名前テーブルから名前を入力し、データの割り付けを行
うデータ割り付け手段とを備えるようにしている。
本発明のデータオブジェクト最適化方式にあっては、入
力した中間テキストが利用者定義語である場合に名前テ
ーブル作戒手段が名前とそれに関する情報を1エントリ
とする名前テーブルを作成し、作成された名前テーブル
をテーブル情報削減手段が走査して、名前がデータ名で
あればそのデータ名もしくはその下位レヘルにあるデー
タ名の参照があるか否かを判定し、参照がなくその利用
者定義語が最上位レベルのものであれば名前で示される
利用者定義語およびその下位レヘルにある全ての利用者
定義語に関する情報を名前テーブル内から削除し、最後
に、データ割り付け手段が名前テーブルから名前を入力
し、データの割り付けを行う。
力した中間テキストが利用者定義語である場合に名前テ
ーブル作戒手段が名前とそれに関する情報を1エントリ
とする名前テーブルを作成し、作成された名前テーブル
をテーブル情報削減手段が走査して、名前がデータ名で
あればそのデータ名もしくはその下位レヘルにあるデー
タ名の参照があるか否かを判定し、参照がなくその利用
者定義語が最上位レベルのものであれば名前で示される
利用者定義語およびその下位レヘルにある全ての利用者
定義語に関する情報を名前テーブル内から削除し、最後
に、データ割り付け手段が名前テーブルから名前を入力
し、データの割り付けを行う。
以下、本発明の実施例につき図面を参照して説明する。
第l図は本発明のデータオブジェクト最適化方式を適用
したコンパイラの一実施例を示す構成図である。第1図
において、コンパイラ1は参照解決処理を行う参照解決
処理部2のみを示しており、参照解決処理部2は名前テ
ーブル作戒手段21とテーブル情報削減手段22とデー
タ割り付け千段23とから構威されている。また、3は
原始プログラムを解析して生成された中間テキスト、4
は名前41,種別42,属性43.参照フラグ44ネス
ト情報45で1つのエントリを構或する名前テーブルで
ある.ここで、名前41は利用者定義語を識別する名前
であり、種別42はデータ名であるか手続き名であるか
といった情報であり、属性43はその利用者定義語の有
する属性であり、参照フラグ44はその利用者定義語が
後に参照されているか否かを示す情報であり、ネスト情
報45はデータの上位・下位の関係を示す情報である。
したコンパイラの一実施例を示す構成図である。第1図
において、コンパイラ1は参照解決処理を行う参照解決
処理部2のみを示しており、参照解決処理部2は名前テ
ーブル作戒手段21とテーブル情報削減手段22とデー
タ割り付け千段23とから構威されている。また、3は
原始プログラムを解析して生成された中間テキスト、4
は名前41,種別42,属性43.参照フラグ44ネス
ト情報45で1つのエントリを構或する名前テーブルで
ある.ここで、名前41は利用者定義語を識別する名前
であり、種別42はデータ名であるか手続き名であるか
といった情報であり、属性43はその利用者定義語の有
する属性であり、参照フラグ44はその利用者定義語が
後に参照されているか否かを示す情報であり、ネスト情
報45はデータの上位・下位の関係を示す情報である。
上記の各手段の機能は次の通りである。
名前テーブル作成千段21;入力した中間テキスト3が
利用者定義語である場合に、名前テーブル4にその利用
者定義語についてのエントリを加える機能を有している
。
利用者定義語である場合に、名前テーブル4にその利用
者定義語についてのエントリを加える機能を有している
。
テーブル情報削減千段22;名前テーブル作戒手段21
により作成された名前テーブル4を走査し、あるエント
リの名前41がデータ名であればそのデータ名もしくは
その下位レベルにあるデータ名の参照があるか否かを判
定し、参照がなくその利用者定義語が最上位レベルのも
のであれば名前で示される利用者定義語およびその下位
レベルにある全ての利用者定義語に関する情報を名前テ
ーブル4内から削除する機能を有している。
により作成された名前テーブル4を走査し、あるエント
リの名前41がデータ名であればそのデータ名もしくは
その下位レベルにあるデータ名の参照があるか否かを判
定し、参照がなくその利用者定義語が最上位レベルのも
のであれば名前で示される利用者定義語およびその下位
レベルにある全ての利用者定義語に関する情報を名前テ
ーブル4内から削除する機能を有している。
データ割り付け千段23;名前テーブル4から名前41
を人力し、名前テーブル4中の他の情報を利用してデー
タの割り付けを行うJR lmを有している. 以下、上記の実施例の動作を説明する。
を人力し、名前テーブル4中の他の情報を利用してデー
タの割り付けを行うJR lmを有している. 以下、上記の実施例の動作を説明する。
原始プログラム(図示せず)はコンパイラlの周知の構
文解析機構(図示せず)等により構文解析等の処理が行
われ、中間テキスト3に変換される. コンパイラ1の参照解決処理部2では、名前テーブル作
成手段2lが中間テキスト3を1単位ずつ入力し、その
中間テキスト3が利用者定義語である場合には、その利
用者定義語を名前4lとすると共に、中間テキスト3か
ら抽出した種別42,属性43.ネスト情報45と参照
フラグ44とを含め、1エントリとして名前テーブル4
に出力する。ここで、参照フラグ44は最初に出現した
利用者定義語である場合に−は「参照なし」を示すもの
とする。また、再度出現した利用者定義語については新
たなエントリを作らず、同し利用者定義語のエントリの
参照フラグ44を「参照あり」を示すものに変更する.
そして、これらの処理を中間テキスト3の全体について
行う. 上記の処理の後、テーブル情報削減手段22は作成され
た名前テーブル4の各エントリを走査し、参照フラグ4
4が「参照なし」を示すものを取り出す。そして、その
エントリにつき、種別42を調べ、データ名であれば更
にネスト情報45を辿って下位に存在するデータ名(存
在しない場合もある.)およびその参照の有無を調べ、
いずれの下位データも参照がなく、かつ、対象としてい
る名前4lが最上位レベルのものであれば(下位レヘル
のデータ名がない場合も含む。)、その名前4lおよび
その下位レベルにある全てのデータのエントリを名前テ
ーブル4から削除する。
文解析機構(図示せず)等により構文解析等の処理が行
われ、中間テキスト3に変換される. コンパイラ1の参照解決処理部2では、名前テーブル作
成手段2lが中間テキスト3を1単位ずつ入力し、その
中間テキスト3が利用者定義語である場合には、その利
用者定義語を名前4lとすると共に、中間テキスト3か
ら抽出した種別42,属性43.ネスト情報45と参照
フラグ44とを含め、1エントリとして名前テーブル4
に出力する。ここで、参照フラグ44は最初に出現した
利用者定義語である場合に−は「参照なし」を示すもの
とする。また、再度出現した利用者定義語については新
たなエントリを作らず、同し利用者定義語のエントリの
参照フラグ44を「参照あり」を示すものに変更する.
そして、これらの処理を中間テキスト3の全体について
行う. 上記の処理の後、テーブル情報削減手段22は作成され
た名前テーブル4の各エントリを走査し、参照フラグ4
4が「参照なし」を示すものを取り出す。そして、その
エントリにつき、種別42を調べ、データ名であれば更
にネスト情報45を辿って下位に存在するデータ名(存
在しない場合もある.)およびその参照の有無を調べ、
いずれの下位データも参照がなく、かつ、対象としてい
る名前4lが最上位レベルのものであれば(下位レヘル
のデータ名がない場合も含む。)、その名前4lおよび
その下位レベルにある全てのデータのエントリを名前テ
ーブル4から削除する。
次いで、データ割り付け千段23は名前テーフル4から
削除されずに残っているエントリを取り出し、名前41
,種別42,属性43,ネスト情報45等に基づいてデ
ータの割り付けを行う。
削除されずに残っているエントリを取り出し、名前41
,種別42,属性43,ネスト情報45等に基づいてデ
ータの割り付けを行う。
以上説明したように、本発明のデータオブジェクトa適
化方式にあっては、原始プログラムのコンパイル時に、
参照のないデータ名に対する記憶域の割り付けを行わな
いため、事実上そのデータ名の定義は注釈と同様となり
、生成されるオブジェクトプログラムのサイズが小さく
なって、記憶域を無駄に使用することがなくなるという
効果がある。
化方式にあっては、原始プログラムのコンパイル時に、
参照のないデータ名に対する記憶域の割り付けを行わな
いため、事実上そのデータ名の定義は注釈と同様となり
、生成されるオブジェクトプログラムのサイズが小さく
なって、記憶域を無駄に使用することがなくなるという
効果がある。
第1図は本発明のデータオブジェクト最適化方式を通用
したコンパイラの一実施例を示す構成図である。 図において、 1・・・・・・コンパイラ 2・・・・・・参照解決処理部 21・・・名前テーブル作戒手段、 22・・・テーブル情報削減手段 23・・・データ割り付け手段 3・・・・・・中間テキスト 4・・・・・・名前テーブル 41・・・名前 42・・・種別 43・・・属性 44・・・参照フラグ 45・・・ネスト情報
したコンパイラの一実施例を示す構成図である。 図において、 1・・・・・・コンパイラ 2・・・・・・参照解決処理部 21・・・名前テーブル作戒手段、 22・・・テーブル情報削減手段 23・・・データ割り付け手段 3・・・・・・中間テキスト 4・・・・・・名前テーブル 41・・・名前 42・・・種別 43・・・属性 44・・・参照フラグ 45・・・ネスト情報
Claims (1)
- 【特許請求の範囲】 原始プログラムのコンパイル時における利用者定義語の
参照解決処理において、 入力した中間テキストが利用者定義語である場合に名前
とそれに関する情報を1エントリとする名前テーブルを
作成する名前テーブル作成手段と、作成された名前テー
ブルを走査し、名前がデータ名であればそのデータ名も
しくはその下位レベルにあるデータ名の参照があるか否
かを判定し、参照がなくその利用者定義語が最上位レベ
ルのものであれば名前で示される利用者定義語およびそ
の下位レベルにある全ての利用者定義語に関する情報を
名前テーブル内から削除するテーブル情報削減手段と、 名前テーブルから名前を入力し、データの割り付けを行
うデータ割り付け手段とを備えたことを特徴とするデー
タオブジェクト最適化方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30288589A JPH03163628A (ja) | 1989-11-21 | 1989-11-21 | データオブジェクト最適化方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30288589A JPH03163628A (ja) | 1989-11-21 | 1989-11-21 | データオブジェクト最適化方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03163628A true JPH03163628A (ja) | 1991-07-15 |
Family
ID=17914276
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30288589A Pending JPH03163628A (ja) | 1989-11-21 | 1989-11-21 | データオブジェクト最適化方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03163628A (ja) |
-
1989
- 1989-11-21 JP JP30288589A patent/JPH03163628A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113296786B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| JPH0683598A (ja) | ジョブフロー仕様書自動作成方法 | |
| US7743368B2 (en) | Method and apparatus for providing class hierarchy information for function devirtualization | |
| JPH03163628A (ja) | データオブジェクト最適化方式 | |
| US6721945B1 (en) | Optimization of calls in programming languages using pointers for passing reference parameters | |
| US9026985B2 (en) | Dynamically configurable model-to-model transformation engine | |
| JPH07141192A (ja) | 翻訳処理方法 | |
| JPH0667871A (ja) | プログラム自動更新方式 | |
| CN116756184A (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
| JP2001188673A (ja) | ソフトウェア再利用支援装置 | |
| JP2527055B2 (ja) | タスク内共有変数検出処理方式 | |
| Lano et al. | Model-based software sustainability analysis and improvement: K. Lano et al. | |
| JP2000339172A (ja) | メモリ効率化方法 | |
| HK40094527A (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
| HK40094527B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
| CN118069107A (zh) | 跨程序组织单元访问方法和装置 | |
| JPH0281137A (ja) | 最適化コンパイラ及びコンパイル方法 | |
| CN116795371A (zh) | 条件编译方法、装置、设备及介质 | |
| JPH02171831A (ja) | コンパイラのデータ接近方式 | |
| JPH1021087A (ja) | コンパイル方法 | |
| JPH08249193A (ja) | プログラムの言語仕様範囲の検査方式 | |
| Stankovic | A Technique To Identify Implicit Information Associated With Modified Code | |
| JPH07239789A (ja) | データコード処理方式 | |
| JPH02144629A (ja) | 言語処理プログラムの処理方式 | |
| JPS63245527A (ja) | 電子計算機のクロス言語処理システムにおけるリンケ−ジエデツタ−の二重割付方法 |