%PROCESS

目的

注: *PROCESS は %PROCESS と同じです。

%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 |
SOURCE list
NOSOURCE nolist
S list
NS nolist
STORAGE map
NOSTORAGE nomap
WINDOW(n) window 1950
XREF xref
NOXREF noxref
X xref
注:
c
文字の引数。引数が省略された場合のデフォルトは右に示したとおりです。
n
整数の引数。引数が省略された場合のデフォルトは右に示したとおりです。
n,m
整数の引数 (ペア)。引数が省略された場合のデフォルトは右に示したとおりです。

次の指令はサポートされていません。コンパイルや実行時の結果に影響する可能性があるため、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 PPMACRO 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
注: 以下がサポートされています。
%PROCESS XML(CASE(UPPER))

XMLCHAR 組み込み関数により、XML 出力のタグがすべて大文字で生成されます。

%PROCESS XML(CASE(LOWER))
XMLCHAR 組み込み関数により、XML 出力のタグがすべて小文字で生成されます。
%PROCESS XML(XMLATTR(APOSTROPHE))

XMLCHAR 組み込み関数により、XML 属性がアポストロフィ (一重引用符) で囲まれます。

%PROCESS XML(XMLATTR(QUOTE))

XMLCHAR 組み込み関数により、XML 属性が引用符 (二重引用符) で囲まれます。

制約事項

なし。