JPH0337726A - Case文最適化方式 - Google Patents
Case文最適化方式Info
- Publication number
- JPH0337726A JPH0337726A JP17240489A JP17240489A JPH0337726A JP H0337726 A JPH0337726 A JP H0337726A JP 17240489 A JP17240489 A JP 17240489A JP 17240489 A JP17240489 A JP 17240489A JP H0337726 A JPH0337726 A JP H0337726A
- Authority
- JP
- Japan
- Prior art keywords
- statement
- branch
- case
- assignment
- case statement
- 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
- 238000005457 optimization Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は目的プログラムを生成するためのコンパイラに
関し、特にCASE文の目的プログラムを生成する方式
に関する。
関し、特にCASE文の目的プログラムを生成する方式
に関する。
(従来の技術)
従来、ソースプログラムを入力して目的プログラムを生
成する計算機システムのコンパイラの処理にかいて、C
ASE文の各分岐先の最初の文が代入文でらって、同じ
外部変数が右碧に指定されていたとしても、各分岐ごと
にデータ接近する目的プログラムを生成する方式となっ
ていた。
成する計算機システムのコンパイラの処理にかいて、C
ASE文の各分岐先の最初の文が代入文でらって、同じ
外部変数が右碧に指定されていたとしても、各分岐ごと
にデータ接近する目的プログラムを生成する方式となっ
ていた。
(発明が解決しようとする課題)
上述した従来方式では、CASE文の分岐ごとく外部変
数へのデータ接近の目的プログラムを生威しなければな
らないため、それだけ目的プログラムが大きくなり1メ
モリ容量などの保管コストがかさむだけではなく、その
実行効率も低下するという欠点がある。
数へのデータ接近の目的プログラムを生威しなければな
らないため、それだけ目的プログラムが大きくなり1メ
モリ容量などの保管コストがかさむだけではなく、その
実行効率も低下するという欠点がある。
本発明の目的は、CASE文の分岐先の最初の文がすべ
て代入文であって、その代入文の右辺に外部変数が指定
されているとき、その変数がすべての分岐先にかいて同
じものであるか否かを判定し、可能と判定された場合に
は外部変数への接近をCASE文の前に一度だけ行うと
ともに、各分岐先の外部変数の参照に際しては得られた
アドレスを直接使用することによう上記欠点を除去し、
メモリ容量を増大させることなく、かつ実行効果を高く
保つことができるように構成したCASE文最適化方式
を提供することにある。
て代入文であって、その代入文の右辺に外部変数が指定
されているとき、その変数がすべての分岐先にかいて同
じものであるか否かを判定し、可能と判定された場合に
は外部変数への接近をCASE文の前に一度だけ行うと
ともに、各分岐先の外部変数の参照に際しては得られた
アドレスを直接使用することによう上記欠点を除去し、
メモリ容量を増大させることなく、かつ実行効果を高く
保つことができるように構成したCASE文最適化方式
を提供することにある。
(課題を解決するための手段)
本発明によるCASE文最適化方式は最適化可能判定手
段と、データ接近生成手段と、データ接近参照手段とを
具備し、目的プログラムを生成する計算機システムのコ
ノバイラ処理に使用できるように構成したものである。
段と、データ接近生成手段と、データ接近参照手段とを
具備し、目的プログラムを生成する計算機システムのコ
ノバイラ処理に使用できるように構成したものである。
最適化可能判定手段は、CASE文の分岐先の最初の文
がすべて代入文であって、代入文の右辺に外部変数が指
定され、外部変数がすべての分岐先で同じであるか否か
を判定するためのものである。
がすべて代入文であって、代入文の右辺に外部変数が指
定され、外部変数がすべての分岐先で同じであるか否か
を判定するためのものである。
データ接近生成手段は、最適化可能判定手段により上記
条件がすべて満足されていると判定された場合には、外
部変数へのデータ接近を一度だけ行うためのものである
。
条件がすべて満足されていると判定された場合には、外
部変数へのデータ接近を一度だけ行うためのものである
。
データ接近参照手段は、各分岐先の外部変数の参照にか
いてデータ接近生成手段で得られたアドレスを直接使用
するためのものである。
いてデータ接近生成手段で得られたアドレスを直接使用
するためのものである。
(実施例)
次に、本発明について図面を参照して説明する。
第1図は、本発明によるCASE文最適化方式の一実施
例を示すブロック図である。
例を示すブロック図である。
第1図において、1はフロントエンド部、2はバックエ
ンド部、11は最適化手段、21はデータ接近生成手段
、22はデータ接近参照手段である。また、111〜1
16,211〜213,221〜223はそれぞれ処理
動作ステップである。
ンド部、11は最適化手段、21はデータ接近生成手段
、22はデータ接近参照手段である。また、111〜1
16,211〜213,221〜223はそれぞれ処理
動作ステップである。
筐ず、フロントエンド部1でンースプログラムを入力す
ると、最適化可能判定手段11により最適化可能なCA
SE文であるか否かを判定する。
ると、最適化可能判定手段11により最適化可能なCA
SE文であるか否かを判定する。
ステップ111でCASE文であるか否かを判定し、Y
ESならばステップ112で分岐先の最初の文が代入文
であるか否かを判定する。Noならば従来技術による処
理を実行し、YESならばステップ113で代入文の右
辺の変数が外部変数であって、前の分岐の最初の代入文
の右辺と同じであるか否かを判定する。Noならば従来
技術による処理を実行し、YESならばステップ114
で次の分岐先の処理を実行する。分岐が終了したならば
、ステップ115で最適化可能なCASE文とす・る。
ESならばステップ112で分岐先の最初の文が代入文
であるか否かを判定する。Noならば従来技術による処
理を実行し、YESならばステップ113で代入文の右
辺の変数が外部変数であって、前の分岐の最初の代入文
の右辺と同じであるか否かを判定する。Noならば従来
技術による処理を実行し、YESならばステップ114
で次の分岐先の処理を実行する。分岐が終了したならば
、ステップ115で最適化可能なCASE文とす・る。
次に、バックエンド部2が起動されると、データ接近生
成手段21によりデータ接近用の中間言語を生成する。
成手段21によりデータ接近用の中間言語を生成する。
ステップ211では、上記中間言語が最適化可能なCA
SE文であるか否かを判定する。Noであるならばステ
ップ213で従来通うに何もしないが、YESならばス
テップ212でCASE文の前にデータ接近用の中間言
語を生成する。
SE文であるか否かを判定する。Noであるならばステ
ップ213で従来通うに何もしないが、YESならばス
テップ212でCASE文の前にデータ接近用の中間言
語を生成する。
次に、データ接近参照手段22により各分岐での代入文
の右辺の変数の参照を最適化する。ステップ221では
、最適化されたCASE文の分岐の代入文であるか否か
を判定し、NOならばステップ223で従来通シにデー
タ接近するが、YESならばデータ接近生成手段21で
得られたアドレスを代入文の右辺に使用する。最後に、
目的プログラムを生成する。
の右辺の変数の参照を最適化する。ステップ221では
、最適化されたCASE文の分岐の代入文であるか否か
を判定し、NOならばステップ223で従来通シにデー
タ接近するが、YESならばデータ接近生成手段21で
得られたアドレスを代入文の右辺に使用する。最後に、
目的プログラムを生成する。
(発明の効果)
以上説明したように本発明は、CASE文の分岐先の最
初の代入文の右辺に同じ外部変数が出現した場合、CA
SE文の前にデータ接近を行い、各分岐先で上記結果を
利用することによう1目的プログラムが大幅に圧縮され
、実行効率も大幅に向上するという効果がある。
初の代入文の右辺に同じ外部変数が出現した場合、CA
SE文の前にデータ接近を行い、各分岐先で上記結果を
利用することによう1目的プログラムが大幅に圧縮され
、実行効率も大幅に向上するという効果がある。
第1図は、本発明によるCASE文最適化方式の一実施
例を示すブロック図である。 1・・・フロントエンド部 2・・・バックエンド部 11・・・最適化可能判定手段 21・・・データ接近生成手段 22・・・データ接近参照手段 111〜116,211〜213,221〜223 ・処理ステップ
例を示すブロック図である。 1・・・フロントエンド部 2・・・バックエンド部 11・・・最適化可能判定手段 21・・・データ接近生成手段 22・・・データ接近参照手段 111〜116,211〜213,221〜223 ・処理ステップ
Claims (1)
- CASE文の分岐先の最初の文がすべて代入文であつて
、前記代入文の右辺に外部変数が指定され、前記外部変
数がすべての分岐先で同じであるか否かを判定するため
の最適化可能判定手段と、前記最適化可能判定手段によ
り前記条件がすべて満足されていると判定された場合に
は前記外部変数へのデータ接近を一度だけ行うためのデ
ータ接近生成手段と、前記各分岐先の外部変数の参照に
おいて前記データ接近生成手段で得られたアドレスを直
接使用するためのデータ接近参照手段とを具備し、目的
プログラムを生成する計算機システムのコンパイラ処理
に使用できるように構成したことを特徴とするCASE
文最適化方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17240489A JPH0337726A (ja) | 1989-07-04 | 1989-07-04 | Case文最適化方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17240489A JPH0337726A (ja) | 1989-07-04 | 1989-07-04 | Case文最適化方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0337726A true JPH0337726A (ja) | 1991-02-19 |
Family
ID=15941323
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17240489A Pending JPH0337726A (ja) | 1989-07-04 | 1989-07-04 | Case文最適化方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0337726A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10394812B2 (en) | 2016-12-06 | 2019-08-27 | International Business Machines Corporation | Case statement optimization |
-
1989
- 1989-07-04 JP JP17240489A patent/JPH0337726A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10394812B2 (en) | 2016-12-06 | 2019-08-27 | International Business Machines Corporation | Case statement optimization |
| US11144547B2 (en) | 2016-12-06 | 2021-10-12 | International Business Machines Corporation | Case statement optimization |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS6184740A (ja) | 汎用オブジエクトコ−ド生成方式 | |
| JP3318051B2 (ja) | 翻訳処理方法 | |
| JPH0337726A (ja) | Case文最適化方式 | |
| JPH02240744A (ja) | Case文最適化方式 | |
| JPH02170236A (ja) | 多分岐機能最適化方式 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH0250730A (ja) | 共通機械語による言語変換方式 | |
| JPH0228174B2 (ja) | ||
| JPS60178539A (ja) | 情報処理装置におけるバイパス制御方式 | |
| JPH0553827A (ja) | ダイナミツクリンク最適化方式 | |
| JP2564904B2 (ja) | プログラム最適化処理方法 | |
| JPS6242234A (ja) | ビツト列属性を持つ変数の演算処理方式 | |
| JPH04343140A (ja) | コンパイラの最適化処理方法 | |
| CN112698835A (zh) | 一种单片机编译链接方法、装置、计算机设备及存储介质 | |
| JPS63163636A (ja) | 並列処理実行方式 | |
| JPH05100866A (ja) | コンパイル・リンク方式 | |
| JPS6297031A (ja) | 仮数部のビツト数整合方式 | |
| JPH03164835A (ja) | インタプリタ型言語処理系における大域変数処理のコンパイル方法 | |
| JPH0128414B2 (ja) | ||
| JPH02105224A (ja) | コンパイラにおけるデータ割付け方式 | |
| JPH0235521A (ja) | パッチイメージの生成方式 | |
| JPH08272411A (ja) | ラダー命令処理装置 | |
| JPH0792757B2 (ja) | 最適データ割付け方式 | |
| JPS62182843A (ja) | 高速コンパイル/リンク方式 | |
| JPH01180637A (ja) | 命令部予測方式 |