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

次の表に、mfpp コマンドで使用できるオプションの説明を示します。-ipath および -suffix オプションは、コンパイラ オプションとして呼び出された場合に適用される規則に従います。

オプション 説明
-currency_symbol ピクチャ指定用の通貨シンボルを指定します。文字、10 進数、または 0xDD 形式の 16 進定数を使用できます (例:-currency_symbol £、-currency_symbol 163、-currency_symbol 0xa3)。
-define name[=value] mynum[='value' (value)]      name[=value] を使用すると、識別子 name が現れるたびに name の代わりに value が使用されるようになります。

mynum[='value' (value)] を使用すると、PL/I マクロ プリプロセッサに対して MYNUM と呼ばれるプリプロセッサ変数が定義されます。値を囲む一重引用符の有無により、定義された変数が CHAR 型か FIXED 型か判断されます。

たとえば、-define mynum='1234' は、変数を CHAR 型として定義します。マクロ プリプロセッサによって処理される PL/I プログラム内で次のようにコーティングするのと同等です。
%DCL MYNUM CHAR;
%MYNUM = '1234';
FIXED 型の変数を定義するには、引用符を省略して数値を使用します。たとえば、-define mynum=1234 は、マクロ プリプロセッサによって処理される PL/I プログラム内で次のようにコーティングするのと同等です。
%DCL MYNUM FIXED;
%MYNUM = 1234;

UNIX/Linux で、値を囲む一重引用符は、マクロ プリプロセッサによって処理される前に除去されます。そのため、たとえば、-define mynum='1234' は、マクロ プリプロセッサによって -define mynum=1234 と解釈されるので、MYNUM は CHAR 型の代わりに FIXED 型として定義されます。

CHAR プリプロセッサ変数として MYNUM を定義するには、一重引用符で囲まれた文字列をさらに二重引用符を追加して囲む必要があります。たとえば、-define mynum="'1234'" は、マクロ プリプロセッサによって処理される PL/I プログラム内で次のようにコーティングするのと同等です。

%DCL MYNUM CHAR;
%MYNUM = '1234';
-incafter filename     ソースを変更せずにインクルード ファイルの使用を許可します。名前付きファイルは、ソースの最初の行として注入されます。
-includes %INCLUDE 文を処理するように、プリプロセッサに指示します。
-ipath dir -ipath および -isuffix オプションは、コンパイラ オプションとして呼び出された場合に適用される規則に従います。このオプションは、インクルード ファイルを検索するフォルダーの場所を指定します。
-isuffix suffix (または -x suffix) -ipath および -isuffix オプションは、コンパイラ オプションとして呼び出された場合に適用される規則に従います。
-margins I,r マージンを設定します。コンパイラは、ソース ファイル内のこのマージンの内側の文字はソース コードとして解釈し、その外側の文字はすべて無視します。 l は、ソース コードとして解釈される一番左の文字の列番号、r はその一番右の文字の列番号です。タブが使用されている場合、各タブは 1 つの文字としてカウントされます。

(-margins オプションを使用して mfpp または mfplx を実行することによって) マクロ プリプロセッサが使用されている場合、*PROCESS カードの -macro オプションは無視されます。この場合、ソース マージンが 1,256 でなければ、-macro オプションで実際のマージンを指定する必要があります。

-nodebuginfo プリプロセッサからコンパイラに渡される通常のデバッグ情報を、プリプロセッサが生成しないように指定します。これは、元のソース ファイルではなく、プリプロセス後の PL/I ソース ファイルを使用してデバッグする場合に便利です。
-noincludes %INCLUDE 文を処理しないように、プリプロセッサに指示します。
-[no]namesstring1 [string2] 拡張文字のサポートを提供します。次に例を示します。
-names 'string1' ['string2']
ここで、string1 は識別子に追加する言語外の文字で、string2 は、対応するオプションの大文字です。文字列の代わりに、0xDD 形式の 16 進定数を使用できます。デフォルトは -names です。
-not_symbol NOT シンボルを指定します。文字、10 進数、または 0xDD 形式の 16 進定数を使用できます。
-or_symbol OR シンボルを指定します。文字、10 進数、または 0xDD 形式の 16 進定数を使用できます。
-pp outfile (または -o outfile) outfile で指定した名前で出力ファイルに名前をつけます。-o が指定されていない場合、デフォルトのファイル名は xxx.oです。ここで、xxx は、名前にある最後の "." (該当する場合) を除く、ソース ファイル名までです。ソース ファイル名 (パス名を除く) です。たとえば、入力ファイル名が prog.pl1 の場合、デフォルトの出力ファイル名は prog.pp です。
-T プリプロセッサにより %INCLUDE ファイル名に @、#、および $ が使用されていないか調べられ、@ は A、# は N、$ は D に置き換えられるようにします。
-undefine name -define オプションにより name が作成されている場合は name の定義を削除し、name 識別子を name としてソース内に残します。これは、%REPLACE 文または %name=expr により name の値が変更されないようにするものではありません。
-variant string VARIANT 組み込み関数の代わりに使用される文字列を指定します。