5.1.3 中間結果の作成条件
コンパイラは,算術式の作用対象の演算順序などによって,一つ以上の中間結果を作成します。この中間結果は記憶装置の一部またはレジスタ上に作成され,算術演算の結果が出るまで保留されます(演算結果を連続して使用する場合,記憶装置内の同じ場所を使用することがあります)。
中間結果は次の場合に作成されます。
-
ADD文,SUBTRACT文,MULTIPLY文,DIVIDE文,およびCOMPUTE文
-
EVALUATE文,IF文,PERFORM文,およびSEARCH文中に算術式が含まれるとき
-
組み込み関数の引数,添字,部分参照中に算術式が含まれるとき
中間結果の作成例を次に示します。
- (例)
COMPUTE A = B + (C / D) + ((E ** F) * G) - H
上記のCOMPUTE文は,次に示す連続した単一の演算操作に変換されます。
C / D → IR1 E ** F → IR2 IR2 * G → IR3 B + IR1 → IR4 IR4 + IR3 → IR5 IR5 - H → A
IRn(nは数字)は,コンパイラによって作成された中間結果の記憶場所を表します。
結果項目Aの精度は,作成される中間結果の整数部および小数部のけた数の影響を受けます。
なお,詳細は「5.2 算術演算機能」を参照してください。