ILE COBOL 解説書
コンパイラーはアルゴリズムを使用して、中間結果用に確保された整数桁および小数桁の数を判別します。
以下に、中間結果用に確保される整数桁および小数桁の数をコンパイラーが判別する方法について説明します。
その中で次の省略語を使用します。
- i
- 中間結果用に確保される整数桁の数。
- d
- 中間結果用に確保される小数桁の数。
- ROUNDED
- ROUNDED オプションを使用する場合、より正確にするために、もう 1
つの整数または小数が、 必要であれば付け加えられることがあります。
最終結果だけが丸められます。中間結果は丸められません。
正確に丸めることができる最大桁数は 62 桁です。
- dmax
- 特定のステートメントの中で、次のうちの最大のもの。
- 最終結果フィールドに必要な小数桁の数。
- 除数または指数を除く、任意のオペランド用に定義された小数桁の最大数。
- 任意の関数オペランドの outer-dmax。
- inner-dmax
- 関数の inner-dmax は次のうちの最大のものです。
- 任意の基本引数用に定義された小数桁の数。
- 任意の算術式引数用の dmax。
- 任意の組み込み関数用の outer-dmax。
- outer-dmax
- 関数結果が、それ自身の評価の外側にある演算に対して、
どのような結果をもたらすかを決定する数 (たとえば、
その関数が算術式中のオペランドである、または他の関数への引数である場合)。
- op1
- 生成された算術ステートメントの最初のオペランド。 除算では、op1
は除数です。
- op2
- 生成された算術ステートメントの 2 番目のオペランド。 除算では、op2
は被除数です。
- i1、i2
- op1 と op2 のそれぞれの整数桁の数。
- d1、d2
- op1 または op2 用にそれぞれ定義された小数桁の数。
- ir
- 生成された算術ステートメントまたは演算の処理から得られる中間結果フィールド。
中間結果は、ir1、ir2 等で表されます。
後続の中間結果が同じメモリー・ロケーションを共用することもあります。
COMPUTE
ステートメントを使って、算術式での中間結果の使用方法を以下に示します。
この場合、次のステートメントは、
COMPUTE Y = A + B * C - D / E + F ** G
以下のように置き換えられます。
F ** G
|
| ir1 が生成される
|
MULTIPLY B
| BY C
| ir2 が生成される
|
DIVIDE E
| INTO D
| ir3 が生成される
|
ADD A
| TO ir2
| ir4 が生成される
|
SUBTRACT ir3
| FROM ir4
| ir5 が生成される
|
ADD ir5
| TO ir1
| Y が生成される
|
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]