Rational Developer for System z
PL/I for Windows, Version 7.6, プログラミング・ガイド

マクロ・プリプロセッサーのオプション

マクロ・プリプロセッサーは、次のオプションをサポートします。

CASE
このオプションは、プリプロセッサーが入力テキストを大文字に変換するかどうかを指定します。
構文図を読む構文図をスキップする            .-UPPER-.
>>-CASE--(--+-ASIS--+--)---------------------------------------><
 
ASIS
入力テキストは「現状のまま」です。
UPPER
入力テキストを大文字に変換します。
FIXED
このオプションは、FIXED 変数のデフォルト基数を指定します。
構文図を読む構文図をスキップする             .-DECIMAL-.
>>-FIXED--(--+-BINARY--+--)------------------------------------><
 
DECIMAL
FIXED 変数の属性は REAL FIXED DEC(5) になります。
BINARY
FIXED 変数の属性は REAL SIGNED FIXED BIN(31) になります。
INCONLY
このオプションは、プリプロセッサーが %INCLUDE および %XINCLUDE ステートメントのみを処理することを指定します。 このオプションが有効な場合は、以下のマクロとして INCLUDE も XINCLUDE も使用できません。
NOINCONLY
このオプションは、プリプロセッサーが %INCLUDE および %XINCLUDE ステートメントのみではなく、すべてのプリプロセッサー・ステートメントを処理することを指定します。 このオプションおよび INCONLY オプションは相互に排他的で、互換性のために NOINCONLY がデフォルトです。
NAMEPREFIX
このオプションは、プリプロセッサー・プロシージャーおよびプリプロセッサー変数の名前を、指定された文字で開始する必要があることを指定します。
構文図を読む構文図をスキップする>>-NAMEPREFIX--(キャラクター型)--------------------------------><
 

文字は「そのまま」指定される必要があります。引用符で囲んではなりません。

NONAMEPREFIX
このオプションは、プリプロセッサー・プロシージャーおよびプリプロセッサー変数の名前を、特定の 1 文字で開始する必要がないことを指定します。 NONAMEPREFIX がデフォルトです。
RESCAN
このオプションは、テキストの再スキャンのとき、プリプロセッサーが ID の大/小文字をどのように処理するかを指定します。
構文図を読む構文図をスキップする              .-ASIS--.
>>-RESCAN--(--+-UPPER-+--)-------------------------------------><
 
UPPER
再スキャンは大/小文字を区別しません。
ASIS
再スキャンは大/小文字を区別します。

このオプションの影響を見るため、次のコード・フラグメントについて考えてみましょう。

   %dcl eins char ext;
   %dcl text char ext;

   %eins = 'zwei';

   %text = 'EINS';
   display( text );

   %text = 'eins';
   display( text );
                         

PP(MACRO('RESCAN(ASIS)')) で 2 番目の表示ステートメントをコンパイルすると、値 texteins に置き換えられますが、RESCAN(ASIS) が指定されていると、eins とマクロ変数 eins では前者が asis (現状のまま) で後者が uppercase (大文字) であるために一致せず、これ以上の置き換えは行われません。したがって、次のテキストが生成されます。

   DISPLAY( zwei );

   DISPLAY( eins ); 

しかし、PP(MACRO('RESCAN(UPPER)')) で 2 番目の表示ステートメントをコンパイルすると、text の値は eins に置き換えられますが、RESCAN(UPPER) が指定されていると、eins と、マクロ変数 eins の両方が uppercase (大文字) なので合致し、さらに置き換えが行われます。 したがって、次のテキストが生成されます。

   DISPLAY( zwei );

   DISPLAY( zwei );
                        

つまり、RESCAN(UPPER) は、大/小文字の区別を無視し、RESCAN(ASIS) は、大/小文字を区別します。

set IBM.PPMACRO コマンドを使用して、マクロ・プリプロセッサーのデフォルト・オプションを設定することができます。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)