JPH0327444A - 代入文の例外検査オブジェクト削除方式 - Google Patents
代入文の例外検査オブジェクト削除方式Info
- Publication number
- JPH0327444A JPH0327444A JP16225089A JP16225089A JPH0327444A JP H0327444 A JPH0327444 A JP H0327444A JP 16225089 A JP16225089 A JP 16225089A JP 16225089 A JP16225089 A JP 16225089A JP H0327444 A JPH0327444 A JP H0327444A
- Authority
- JP
- Japan
- Prior art keywords
- data
- check object
- exception check
- range
- exception
- 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
- 238000012217 deletion Methods 0.000 title claims abstract description 18
- 230000037430 deletion Effects 0.000 title claims abstract description 18
- 238000006467 substitution reaction Methods 0.000 title abstract 5
- 238000000034 method Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は目的プログラムを生成ずるためのコンパイラに
関し、特に代人文に対する例外検査オブジェクトの生成
処理を行うことができるコンパイラにおける代人文の例
外検査オブジェクト削除方式に関する。
関し、特に代人文に対する例外検査オブジェクトの生成
処理を行うことができるコンパイラにおける代人文の例
外検査オブジェクト削除方式に関する。
従来、この種のコンパイラでは、オプション等により代
人文に対する例外検査オブジェクトの生戒処理を行える
ようになっているが、代人文の送出し側のデータの値が
受取り側のデータの値域に入っているかどうかを検査す
る例外検査オブジェク1・を無条件に生成していた。
人文に対する例外検査オブジェクトの生戒処理を行える
ようになっているが、代人文の送出し側のデータの値が
受取り側のデータの値域に入っているかどうかを検査す
る例外検査オブジェク1・を無条件に生成していた。
上述した従来のコンパイラでは、代入文の送出し側のデ
ータの値が受取り側のデータの値域に入っているかどう
かを検査する例外検査オブジェク1・を無条件に生成し
ていたので、ソースプログラムで宣言されたデータの値
域があらかしめわかっていて代入文の送出し側のデータ
の値域が受取り側のデータの値域に含まれていることが
明らかな場合でも例外検査オブジェク1・が生成される
ことになり、目的プログラムが大きくなり、また目的プ
ログラムの実行速度も遅くなるという欠点がある。
ータの値が受取り側のデータの値域に入っているかどう
かを検査する例外検査オブジェク1・を無条件に生成し
ていたので、ソースプログラムで宣言されたデータの値
域があらかしめわかっていて代入文の送出し側のデータ
の値域が受取り側のデータの値域に含まれていることが
明らかな場合でも例外検査オブジェク1・が生成される
ことになり、目的プログラムが大きくなり、また目的プ
ログラムの実行速度も遅くなるという欠点がある。
本発明の目的は、上述の点に鑑み、代入文の送出し側の
データの値域が受取り側のデータの値域に含まれている
場合に例外検査オブジェクトを生成しないようにして、
目的プログラムの大きさを小さくし、目的プログラムの
実行速度を速くするようにした代人文の例外検査オブジ
ェクト削除方式を提供することにある。
データの値域が受取り側のデータの値域に含まれている
場合に例外検査オブジェクトを生成しないようにして、
目的プログラムの大きさを小さくし、目的プログラムの
実行速度を速くするようにした代人文の例外検査オブジ
ェクト削除方式を提供することにある。
本発明の代入文の例外検査オブジェクト削除方式は、代
入文に対する例外検査オブジェク1・の生成処理を行う
ことができるコンパイラにおいて、ソースプログラムで
宣言されたデータの値域を記憶するデータ属性記憶域と
、代入文の例外検査を行う中間言語が生成されている場
合に前記データ属性記憶域を参照して代人文の送出し側
のデータの値域が受取り側のデータの値域に含まれてい
るか否かを判断し含まれているときには例外検査オブジ
ェクトを生成しないようにする例外検査オブジェクト削
除手段とを有する。
入文に対する例外検査オブジェク1・の生成処理を行う
ことができるコンパイラにおいて、ソースプログラムで
宣言されたデータの値域を記憶するデータ属性記憶域と
、代入文の例外検査を行う中間言語が生成されている場
合に前記データ属性記憶域を参照して代人文の送出し側
のデータの値域が受取り側のデータの値域に含まれてい
るか否かを判断し含まれているときには例外検査オブジ
ェクトを生成しないようにする例外検査オブジェクト削
除手段とを有する。
本発明の代人文の例外検査オブジェクト削除方式では、
データ属性記憶域がソースプログラムで宣言されたデー
タの値域を記憶し、例外検査オブジェクト削除手段が代
入文の例外検査を行う中間言語が生成されている場合に
データ属性記憶域を参照して代入文の送出し側のデータ
の値域が受取り側のデータの値域に含まれているか否か
を判断し含まれているときには例外検査オブジェクトを
生成しないようにする。
データ属性記憶域がソースプログラムで宣言されたデー
タの値域を記憶し、例外検査オブジェクト削除手段が代
入文の例外検査を行う中間言語が生成されている場合に
データ属性記憶域を参照して代入文の送出し側のデータ
の値域が受取り側のデータの値域に含まれているか否か
を判断し含まれているときには例外検査オブジェクトを
生成しないようにする。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る代人文の例外検査オ
ブジェクト削除方式の構威を示すブロソク図である。本
実施例の代入文の例外検査オブジェクト削除方式は、コ
ンパイラ2が人力するソースプログラムIと、フロント
エンド部21および例外検査オブジェクト削除千段21
1を有するバソクエンド部22を含むコンパイラ2と、
フロントエンド部21が出力しバンクエンド部22が人
力する中間言語3と、フロントエンド部21がデータ属
性を出力しバンクエンド部22がデータ属性を入力する
データ属性記憶域4と、ハソクエンド部22が出力する
目的プログラム5とから、その主要部が構或されている
。
ブジェクト削除方式の構威を示すブロソク図である。本
実施例の代入文の例外検査オブジェクト削除方式は、コ
ンパイラ2が人力するソースプログラムIと、フロント
エンド部21および例外検査オブジェクト削除千段21
1を有するバソクエンド部22を含むコンパイラ2と、
フロントエンド部21が出力しバンクエンド部22が人
力する中間言語3と、フロントエンド部21がデータ属
性を出力しバンクエンド部22がデータ属性を入力する
データ属性記憶域4と、ハソクエンド部22が出力する
目的プログラム5とから、その主要部が構或されている
。
ソースプログラム1中の”A RANGE a..a
2”は、データAが最小値a1から最大値a2までの値
域をもつという宣言であり、“BRANGE b,,
,b2″は、データBが最小値b,から最大値b2まで
の値域をもつという宣言である。また、“A:=B.”
は、データAにデータBを代入することを指示する代人
文である。
2”は、データAが最小値a1から最大値a2までの値
域をもつという宣言であり、“BRANGE b,,
,b2″は、データBが最小値b,から最大値b2まで
の値域をもつという宣言である。また、“A:=B.”
は、データAにデータBを代入することを指示する代人
文である。
中間言語3中の“RANGECHK A.B″は、デ
ータAに対してデータBを代入する前に例外検査を行う
ことを指示する中間言語である。また、“A:−B.”
は、ソースプログラム1中の“A:=B.”と同様の意
味をもつ中間言語である。
ータAに対してデータBを代入する前に例外検査を行う
ことを指示する中間言語である。また、“A:−B.”
は、ソースプログラム1中の“A:=B.”と同様の意
味をもつ中間言語である。
データ属性記憶域4は、ソースプログラム1で宣言され
たデータAの値域(a+..a2〕およびデータBの値
域(bl..b2)記憶する。
たデータAの値域(a+..a2〕およびデータBの値
域(bl..b2)記憶する。
目的プログラム5中の〔 〕で囲んだ部分は、例外検査
オブジェクトを示し、上の行から順に説明すると、まず
データBの値とデータAの最小値a1とを比較し、デー
タBの値が小さければ、RANGE−ERRに飛ぶ。次
に、データBの値とデータAの最大値a2とを比較し、
データBの値が大きければ、RANGE−ERRに飛ふ
。また、”MVM A,8.12a″は、データAに
データBをデータAのデータ長だけ代入することを指示
するオブジェクトである。
オブジェクトを示し、上の行から順に説明すると、まず
データBの値とデータAの最小値a1とを比較し、デー
タBの値が小さければ、RANGE−ERRに飛ぶ。次
に、データBの値とデータAの最大値a2とを比較し、
データBの値が大きければ、RANGE−ERRに飛ふ
。また、”MVM A,8.12a″は、データAに
データBをデータAのデータ長だけ代入することを指示
するオブジェクトである。
第2図を参照すると、例外検査オブジェクト削除手段2
21における例外検査オブジェクト削除可否の判断処理
は、最小値比較ステソプ2211と、最大値比較ステソ
ブ22l2と、例外検査オブジェクト削除可判断ステソ
プ2213と、例外検査オブジェクト削除不可判断ステ
ップ2214とからなる。
21における例外検査オブジェクト削除可否の判断処理
は、最小値比較ステソプ2211と、最大値比較ステソ
ブ22l2と、例外検査オブジェクト削除可判断ステソ
プ2213と、例外検査オブジェクト削除不可判断ステ
ップ2214とからなる。
次に、このように構成された本実施例の代入文の例外検
査オブジェクト削除方式の動作について説明する。
査オブジェクト削除方式の動作について説明する。
コンパイラ2が起動されると、まずフロントエンド部2
lは、ソースプログラムlを入力し、ソースプログラム
1で宣言されたデータAの値域〔a+..a2)および
データBの値域(b+ ..bz)をデータ属性記憶域
4に出力する。また、フロントエンド部21は、ソース
プログラム1を入力して中間言語3を出力し、特にソー
スプログラム1中の代入文“A:=B.”を人力した場
合には、代人文“A:一B;”の送出し側のデータBも
受取り側のデータAもソースプログラム1で値域を宣言
されたデータであるので、中間言語“A : =B ;
”の前に例外検査を行う中間言語“RANGECHK
A,B″を生成する。
lは、ソースプログラムlを入力し、ソースプログラム
1で宣言されたデータAの値域〔a+..a2)および
データBの値域(b+ ..bz)をデータ属性記憶域
4に出力する。また、フロントエンド部21は、ソース
プログラム1を入力して中間言語3を出力し、特にソー
スプログラム1中の代入文“A:=B.”を人力した場
合には、代人文“A:一B;”の送出し側のデータBも
受取り側のデータAもソースプログラム1で値域を宣言
されたデータであるので、中間言語“A : =B ;
”の前に例外検査を行う中間言語“RANGECHK
A,B″を生成する。
次に、バンクエンド部22は、中間言語3を入力して目
的プログラム5を出力する。特に、中間言語”RANG
ECHK A,B”を入力ずると、バソクエンド部2
2は、例外検査オブジェクト削除千段221によりデー
タ属性記憶域4のデータAの値域(a+..az)およ
びデータBの値域(b+..b2〕を人力し、中間言語
“RANGECHK A,B”に対する例外検査オブ
ジェクトを目的プログラム5中に出力するか否かの判定
を行う。この判定は、中間言語“A:=B;”の送出し
側のデータBの値域(b+..b2)が受取り側のデー
タAの値域(a+..az)に含まれるかどうかを検査
することにより行われる。
的プログラム5を出力する。特に、中間言語”RANG
ECHK A,B”を入力ずると、バソクエンド部2
2は、例外検査オブジェクト削除千段221によりデー
タ属性記憶域4のデータAの値域(a+..az)およ
びデータBの値域(b+..b2〕を人力し、中間言語
“RANGECHK A,B”に対する例外検査オブ
ジェクトを目的プログラム5中に出力するか否かの判定
を行う。この判定は、中間言語“A:=B;”の送出し
側のデータBの値域(b+..b2)が受取り側のデー
タAの値域(a+..az)に含まれるかどうかを検査
することにより行われる。
詳しくは、例外検査オブジェクト削除手段22lは、デ
ータBの最小値b1がデータAの最小値a1より大きい
かどうかを判定し(ステップ221■)、より大きくな
ければデータBの値がデータAの値域(a+..az)
より小さくなる場合があり得るので例外検査オブジェク
ト削除不可と判断する(ステップ2214)。また、デ
ータBの最小値b1がデータAの最小値a,より大きけ
れば、次にデータAの最大値a2がデータBの最大値b
2より大きいかどうかを判定し〈ステソプ2212)、
より大きくなければデータBの値がデータAの値域(a
+..az)より大きくなる場合があり得るので例外検
査オブジェクト削除不可と判断する(ステソプ2 2
1 4)。データAの最大値a2がデータBの最大値b
2より大きければ、送出し側のデークBの値域(b+.
.bz)が受取り側のデータAの値域(a+..az)
に含まれるので、例外検査オブジェクト削除可と判断す
る(ステップ2213)。
ータBの最小値b1がデータAの最小値a1より大きい
かどうかを判定し(ステップ221■)、より大きくな
ければデータBの値がデータAの値域(a+..az)
より小さくなる場合があり得るので例外検査オブジェク
ト削除不可と判断する(ステップ2214)。また、デ
ータBの最小値b1がデータAの最小値a,より大きけ
れば、次にデータAの最大値a2がデータBの最大値b
2より大きいかどうかを判定し〈ステソプ2212)、
より大きくなければデータBの値がデータAの値域(a
+..az)より大きくなる場合があり得るので例外検
査オブジェクト削除不可と判断する(ステソプ2 2
1 4)。データAの最大値a2がデータBの最大値b
2より大きければ、送出し側のデークBの値域(b+.
.bz)が受取り側のデータAの値域(a+..az)
に含まれるので、例外検査オブジェクト削除可と判断す
る(ステップ2213)。
そして、例外検査オブジェクト削除可と判断した場合に
は、例外検査オブジェクト削除手段22lは、バンクエ
ンド部22から中間言語“RANGECHK A,B
″に対する例外検査オブジェクトを目的プログラム5に
出力させない(削除する)。すなわち、送出し側のデー
タBの値域(b+..bz)が受取り側のデータAの値
域〔a1..a2〕に含まれていれば、目的プログラム
5中の〔 〕で囲んだ部分である例外検査オブジェクト
は生成されない。
は、例外検査オブジェクト削除手段22lは、バンクエ
ンド部22から中間言語“RANGECHK A,B
″に対する例外検査オブジェクトを目的プログラム5に
出力させない(削除する)。すなわち、送出し側のデー
タBの値域(b+..bz)が受取り側のデータAの値
域〔a1..a2〕に含まれていれば、目的プログラム
5中の〔 〕で囲んだ部分である例外検査オブジェクト
は生成されない。
以上説明したように本発明は、ソースプログラムで宣言
されたデータの値域に基づいて代入文の送出し側のデー
タの値域が受取り側のデータの値域に含まれているかど
うかを判断し含まれている場合にはこの代人文に対する
例外検査オブジェクトを生成しないようにしたことによ
り、目的プロダラムの大きさを小さくすることができ、
また目的プログラムの実行速度を速くすることができる
という効果がある。
されたデータの値域に基づいて代入文の送出し側のデー
タの値域が受取り側のデータの値域に含まれているかど
うかを判断し含まれている場合にはこの代人文に対する
例外検査オブジェクトを生成しないようにしたことによ
り、目的プロダラムの大きさを小さくすることができ、
また目的プログラムの実行速度を速くすることができる
という効果がある。
第1図は本発明の一実施例に係る代入文の例外検査オブ
ジェクト削除方式の構威を示すブロソク図、 第2図は第l図中の例外検査オブジェクト削除手段にお
ける例外検査オブジェクト削除可否の判断処理を示す図
である。 図において、 1・・・ソースプログラム、 2・・・コンパイラ、 3・・・中間言語、 4・・・データ属性記憶域、 5・・・目的フ゜ログラム、 21・・フロントエンド部、 22・・バンクエンド部、 221・例外検査オブジェクト削除手段である。
ジェクト削除方式の構威を示すブロソク図、 第2図は第l図中の例外検査オブジェクト削除手段にお
ける例外検査オブジェクト削除可否の判断処理を示す図
である。 図において、 1・・・ソースプログラム、 2・・・コンパイラ、 3・・・中間言語、 4・・・データ属性記憶域、 5・・・目的フ゜ログラム、 21・・フロントエンド部、 22・・バンクエンド部、 221・例外検査オブジェクト削除手段である。
Claims (1)
- 【特許請求の範囲】 代入文に対する例外検査オブジェクトの生成処理を行う
ことができるコンパイラにおいて、ソースプログラムで
宣言されたデータの値域を記憶するデータ属性記憶域と
、 代入文の例外検査を行う中間言語が生成されている場合
に前記データ属性記憶域を参照して代入文の送出し側の
データの値域が受取り側のデータの値域に含まれている
か否かを判断し含まれているときには例外検査オブジェ
クトを生成しないようにする例外検査オブジェクト削除
手段と を有することを特徴とする代入文の例外検査オブジェク
ト削除方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16225089A JPH0327444A (ja) | 1989-06-23 | 1989-06-23 | 代入文の例外検査オブジェクト削除方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16225089A JPH0327444A (ja) | 1989-06-23 | 1989-06-23 | 代入文の例外検査オブジェクト削除方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0327444A true JPH0327444A (ja) | 1991-02-05 |
Family
ID=15750855
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16225089A Pending JPH0327444A (ja) | 1989-06-23 | 1989-06-23 | 代入文の例外検査オブジェクト削除方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0327444A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4842832B2 (ja) * | 2003-11-30 | 2011-12-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 内部に取り付けられたカバー保持手段を備えたフードプロセッサ |
-
1989
- 1989-06-23 JP JP16225089A patent/JPH0327444A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4842832B2 (ja) * | 2003-11-30 | 2011-12-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 内部に取り付けられたカバー保持手段を備えたフードプロセッサ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6442572B2 (en) | Method of and computer system for performing a transaction on a database | |
| JPH08292881A (ja) | プログラム影響範囲表示装置 | |
| US20100153911A1 (en) | Optimized storage of function variables | |
| JPH0378031A (ja) | 例外検査/代入文オブジェクトの削除方式 | |
| JPH0395631A (ja) | 条件文の目的プログラムの削減方式 | |
| JPS6378231A (ja) | 部分的プログラム結合方式 | |
| Carroll | An island parsing interpreter for the full augmented transition network formalism | |
| JP3011001B2 (ja) | バッファ制御システム | |
| JPH0546404A (ja) | 分岐命令削除最適化方式 | |
| JPH0285931A (ja) | 関数呼出しの最適化強化方式 | |
| JPH0240720A (ja) | 目的プログラム出力指示方式 | |
| JPH05113882A (ja) | 中間フアイルによる外付けマン・マシン・インターフエース実現方式 | |
| JP3327634B2 (ja) | プログラム変換装置、およびプログラム変換方法 | |
| JPH05250173A (ja) | 書換え規則検証方式 | |
| JPH0816431A (ja) | 利用者プログラムのデバッグ処理システム | |
| JPH05324344A (ja) | 関数呼出し時の引数処理最適化方法 | |
| JPS59109944A (ja) | 端末エコ−制御方式 | |
| JPH05216669A (ja) | 制約伝播方式 | |
| JPH05298113A (ja) | リスト関数作成方式 | |
| JPH06301549A (ja) | プログラム翻訳装置 | |
| JPS60235243A (ja) | デ−タ処理装置 | |
| JPH033039A (ja) | オブジエクトロード処理方法 | |
| JPH0581047A (ja) | テストプログラム実行制御処理方式 | |
| JPH01100633A (ja) | 目的プログラム生成方式 | |
| JPH06242961A (ja) | コンパイラシステム |