%PROCESS 文は、明示的および暗黙的 (デフォルト) の両方のコンパイル オプションをオーバーライドするために使用されます。% または * は列 1 から開始し、すべての %PROCESS 文を最初の言語要素の前に記述する必要があります。
%PROCESS [directive] ...;
*PROCESS および %PROCESS の指令は、mfplx (コマンド ライン ドライバー) または mfpli (コンパイラ) による入力ソース ファイルの処理時に Open PL/I オプションに変換されます。対応する Open PL/I コマンド ライン コンパイル オプションがあれば、そのオプションに指令が変換されます。mfplx を使用した場合は、その後に各オプションがマクロ プロセッサ (mfpp)、EXEC プリプロセッサ (mfexecpp)、コンパイラ (mfpli)、リンカー (ldpli) の適切なフェーズに渡されます。
変換された *PROCESS または %PROCESS の指令は、競合するコマンド ライン オプションや前の指令をオーバーライドします。
マクロ プロセッサ (mfpp) または EXEC プリプロセッサ (mfexecpp) を直接呼び出した場合は、*PROCESS 文および %PROCESS 文は無視されます。適用する必要がある指令がある場合は、対応する Open PL/I コマンド ラインの適切な引数を各プリプロセッサに使用する必要があります。
コンパイラ オプション -options は、変換された %PROCESS 指令およびコマンド ライン オプションの処理に関する情報をコンパイラ リストに追加します (-options は -l の意味を含みます)。
プリプロセッサの順序は、-pporder コンパイラ オプションを使用して指定できます。プリプロセッサの呼び出し順序のデフォルトおよび指定方法の詳細については、「Open PL/I ユーザー ガイド」の -pporder オプションを参照してください。
次に、対応する Open PL/I コンパイル オプションに変換される指令を示します。左の列の指令が右の列のオプションに変換されます。引数が適用される場合は、右の列にデフォルトの引数を示してあります。
| 指令 | コンパイラ オプション | 
|---|---|
| AGGREGATE(x) | map | 
| AG(x) | map | 
| ATTRIBUTES(x) | map | 
| A(x) | map | 
| CURRENCY(c) | currency_symbol $ | 
| CURR(c) | currency_symbol $ | 
| FLAG(c) | flag W | 
| F(c) | flag W | 
| GRAPHIC | graphic | 
| NOGRAPHIC | nographic | 
| GR | graphic | 
| NGR | nographic | 
| LIST | list | 
| NOLIST | nolist | 
| MAP | map | 
| NOMAP | nomap | 
| MARGINI(c) | margini | | 
| NOMARGINI | nomargini | 
| MI(c) | margini | 
| NMI | nomargini | 
| MARGINS(n,m) | margins 2,72 | 
| NOMARGINS | nomargins | 
| MAR(n,m) | margins 2,72 | 
| MDECK | pp | 
| NOMDECK | nopp | 
| MD | pp | 
| NMD | nopp | 
| NEST | nest | 
| NAMES | names | 
| NONEST | nonest | 
| NOT(c) | not_symbol ^ | 
| OBJECT | obj | 
| NOOBJECT | noobj | 
| OBJ | o | 
| NOBJ | noobj | 
| OPTIMIZE(n) | opt 2 | 
| NOOPTIMIZE | noopt | 
| OPT(n | TIME)
                               注: OPT(TIME) は OPT(2) と同等
                                
                              				  
                            |  
                           				  
                           opt 2 | 
| NOPT | noopt | 
| OR(c) | or_symbol | | 
| PPMACRO | pporder | 
| SOURCE | list | 
| NOSOURCE | nolist | 
| S | list | 
| NS | nolist | 
| STORAGE | map | 
| NOSTORAGE | nomap | 
| WINDOW(n) | window 1950 | 
| XREF | xref | 
| NOXREF | noxref | 
| X | xref | 
次の指令はサポートされていません。コンパイルや実行時の結果に影響する可能性があるため、W レベルの診断 (警告) が生成されます。
| CMPAT | CMP | CODEPAGE | CP | COMMON | 
| NOCOMMON | COMPILE | NOCOMPILE | C | NC | 
| DISPLAY | EXIT | NOEXIT | EXTRN | EXPORTALL | 
| INITAUTO | NOINITAUTO | JSON | MACRO | NOMACRO | 
| M | NM | OFFSET | NOOFFSET | OF | 
| NOF | ONSNAP | NOONSNAP | PP | PPCICS | 
| PPINCLUDE | PPSQL | WIDECHAR | XINFO | NAME / N | 
| NONAME | PRECTYPE | QUOTE | SYSPARM | SYSTEM | 
| LIMITS | RULES | DEFAULT (下記の注を参照) | INCAFTER | 
%PROCESS DEFAULT (DUMMY(ALIGNED|UNALIGNED)) がサポートされています。
*PROCESS DEFAULT(DUMMY(ALIGNED)) を使用すると、引数を渡すときに、ALIGNED 属性および UNALIGNED 属性が引数とパラメーターの記述子の間で異なる場合、ダミー引数が作成されます。これはデフォルトの設定です。
*PROCESS DEFAULT(DUMMY(UNALIGNED)) を使用すると、ダミー引数の作成時に、ALIGNED 属性および UNALIGNED 属性が無視されます。
次の指令は警告なしに無視されます。
| ARCH | BACKREG | BIFPREC | BLANK | BLKOFF | 
| NOBLKOFF | BRACKETS | CASERULES | CEESTART | CHECK | 
| COPYRIGHT | NOCOPYRIGHT | CSECT | NOCSECT | CSECTCUT | 
| DBCS | NODBCS | DD | DDSQL | DECIMAL | 
| DEC | DECOMP | NODECOMP | DEPRECATE | DEPRECATENEXT | 
| DLLINIT | NODLLINT | FILEREF | NOFILEREF | FLOAT | 
| FLOATINMATH | GOFF | NOGOFF | GONUMBER | NOGONUMBER | 
| GN | NGN | IGNORE | NOIGNORE | HEADER | 
| INCDIR | NOINCDIR | INCLUDE | NOINCLUDE | INCPDS | 
| NOINCPDS | INITBASED | NOINITBASED | INITCTL | NOINITCTL | 
| INITSTATIC | NOINITSTATIC | INSOURCE | NOINSOURCE | IS | 
| NIS | INTERRUPT | NOINTERRUPT | INT | NINT | 
| LANGLVL | LINECOUNT | LC | LINEDIR | NOLINEDIR | 
| LISTVIEW | LP | MAXBRANCH | MAXGEN | MAXMEM | 
| MAXMSG | MAXNEST | MAXSTMT | MAXTEMP | MSGSUMMARY | 
| NOMSGSUMMARY | NATLANG | NULLDATE | NONULLDATE | NUMBER | 
| NONUMBER | NUM | NNUM | OFFSETSIZE | OPTIONS | 
| NOOPTIONS | OP | NOP | NOPP | NOPPCICS | 
| NOPPINCLUDE | PPLIST | NOPPMACRO | NOPPSQL | PPTRACE | 
| NOPPTRACE | PREFIX | PROCEED | NOPROCEED | PRO | 
| NPRO | PROCESS | NOPROCESS | REDUCE | NOREDUCE | 
| RENT | NORENT | RESEXP | NORESEXP | RESPECT | 
| RTCHECK | SEMANTIC | NOSEMANTIC | SEM | NSEM | 
| SERVICE | NOSERVICE | SERV | NOSERV | SPILL | 
| STATIC | STDSYS | NOSTDSYS | STMT | NOSTMT | 
| STG | NSTG | STRINGOFGRAPHIC | SYNTAX | NOSYNTAX | 
| SYN | NSYN | TERMINAL | NOTERMINAL | TERM | 
| NTERM | TEST | NOTEST | USAGE | WRITABLE | 
| NOWRITABLE | XML (下記の注を参照) | NOATTRIBUTES / NA | UNROLL | 
XMLCHAR 組み込み関数により、XML 出力のタグがすべて大文字で生成されます。
XMLCHAR 組み込み関数により、XML 属性がアポストロフィ (一重引用符) で囲まれます。
XMLCHAR 組み込み関数により、XML 属性が引用符 (二重引用符) で囲まれます。
なし。