Open PL/I コンパイラの実装限度

ソース プログラムが一定の Open PL/I コンパイラ実装限度を超えると、コンパイラによりメッセージが生成されます。次の表に、この実装限度の一覧を示します。

メッセージ 限度
構造体のネストの深さ 16
「外部」文字列定数の最大長さ 30721 
「内部」文字列定数の最大長さ 327672
繰り返し指定子を使用した文字列定数の最大長さ 32767
ソース行の最大長さ 1024
識別子の最大長さ 100
AREA データ用記憶域の最大サイズ 2GB
注: 領域サイズが非常に大きい場合、システム リソースの影響を受ける場合があります。
単一のデータ構造の最大サイズ 2GB
自動変数に割り当てられる最大スタック記憶域 (プロシージャごと) 2GB
静的変数に割り当てられる最大記憶域 (コンパイル単位ごと) 2 GB
初期化されていない静的変数に -bss オプションで割り当てられる最大記憶域 無制限 (システムに依存)
配列の次元 8
INCLUDE 文のネスト レベル 7
DO 文、PROCEDURE 文、BEGIN 文、SELECT 文、およびシンプルな ON-unit 文のネスト 643 
サブルーチンまたは関数呼び出し内の引数の数 239
編集指示仕様内のデータおよびフォーマット リスト ペアの数 256
診断の数 (この限度の構成については、「コンパイラ オプション」の -maxmsg オプションを参照してください) 1000
VSAM キーの最大サイズ 120 バイト
変数のスケール係数 0 ≤ スケール係数 ≤ 128
定数のスケール係数 0 ≤ スケール係数 ≤ 127
変換組み込み関数のスケール係数 0 ≤ スケール係数 ≤ 127
フォーマットの繰り返し、w、または d フィールドの値 254
固定 2 進数の精度 31
固定小数点数の精度 (最大) 31
浮動 2 進数の精度 52
浮動小数の精度 16
内部的な限度  
文中のトークン数 20,000