Home > Products > Programing tools > PP4J > 特徴・機能 | |
|
PP4J
PP4Jは、主にJava向けのプリプロセッサです。JavaのソースコードにPP4Jで使用できる構文を記入しておくことでソースコードの一部をコメントアウトすることができます。このことにより、プリプロセッサの式を変更するだけでJavaコード内の制御を変更できるため、デバッグ向けのコードなどをコメントアウトする時などに有用に使用できます。
PP4Jで使用できる構文に則って以下の「記載例」の様に記載してPP4Jで処理をさせることで「処理後に出力されるコード」の様にある条件に当てはまるコードだけをコメントアウトしないようにできます。加えて、行番号は元のコードと変わりなくコメントアウトするため、非常に分かりやすく使用できるはずです。
また、設定ファイルを書き換えることで 「コメント行指定付き構文(//#)」が有効になり、「//#define DEBUG」のようにJavaの行コメント(//)とセットになっている構文のみが処理されます。ただし、「//」と「#」の間に文字がある場合は処理されません。もし「//#define DEBUG」をコメント扱いにしたい場合は「///#define DEBUG」 のように「/」を追加して「//#」の形を変更することで対応できます。この機能を利用すればIDEでソースコードを編集し、その後でプリプロセッサで処理、という流れを実現することができ、非常に便利に使用できます。※Ver1.0.4にて追加
記載例:#define DEBUG #define TEST1 #undef TEST1 #if (DEBUG && TEST1) System.out.println("DEBUG and TEST1 is defined"); #elif (!DEBUG && !TEST1) System.out.println("DEBUG and TEST1 is undefined"); #else #if TEST1 == false System.out.println("TEST1 is undefined"); #endif #endif処理後に出力されるコード:条件に当てはまった行(太字)がコメントにならない。
//#define DEBUG //#define TEST1 //#undef TEST1 //#if (DEBUG && TEST1) // System.out.println("DEBUG and TEST1 is defined"); //#elif (!DEBUG && !TEST1) // System.out.println("DEBUG and TEST1 is undefined"); //#else // #if TEST1 == false System.out.println("TEST1 is undefined"); // #endif //#endif標準出力された内容:
TEST1 is undefined
-システム要件-
PP4Jを使うためには以下のソフトウェアが必要です。
PP4Jで使用できるプリプロセッサの構文は以下の通りです。詳細な内容はHELPファイルを参照して下さい。
※#includeはVer1.0.3から追加されました。
#if、#elif構文で使用できる演算子は以下の通りです。
#if、#elif構文では括弧"("、")"を使用して以下の記載例の様に指定することができます。
#if、#elif構文で判定できるシンボルの内、「true」 「false」は特別にJavaのboolean値と同じ扱いができます。そのため、「!true」はfalseとなります。
プリプロセッサで処理をしたソースファイル内の各構文の行はJavaの行コメントになります。加えて、#if、#elif、#elseの中にあるJavaコードに関しても条件に当てはまらなかった範囲は各行が行コメントになります。
このように行コメントにするため、処理後のソースと元のソースとは各記述の行番号が同じになり、デバッグをする際に便利に使えることでしょう。
各構文は、一行に1つの構文のみ記載できます。一行に複数の構文を記載した場合や、Javaのコードと同じ行に記載した場合は構文エラーになります。
|