FAQ

シンタックスチェックとは何ですか

ID101
カテゴリー4D 2004関係 4D 2003関係 コンパイルとビルド
プラットフォーム

プログラムの構文が正しいかどうか調べることをシンタックスチェックと言います。シンタックスチェックは構文的にエラーが無いかを調べますが、それはプログラムが正しいかどうかを調べている訳ではないことに注意してください。

また、シンタックスチェックでエラーのあるプログラムであっても、一見正しく動作しているように振る舞うかもしれません。しかし問題を含んでいることには間違いないので、何か予想外の条件が発生した時に、取り返しのつかないことになるかもしれません。

シンタックスチェックでエラーが無いことは、最低限の動作条件であることは間違いありません。

警告について

シンタックスチェックを行うと、エラーの他に警告を目にすることがあります。

例えばプラグインを使っているときに、次のような警告メッセージを見るかもしれません。

 プラグインの呼び出しでパラメータが失われています。

プラグインの場合、4Dのコマンドとは違い、4Dが完全にコントロールを行っている訳ではありません。そのため渡さなくても良いオプションの引数を省いて記述すると、4Dは引数が足りないことだけをチェックし、前述のメッセージを警告を発します。

その他の例としては、配列を使っているときに、次のような警告メッセージを見るかもしれません。

 配列定義コマンド中にポインタが存在します。

この警告は、例えば次のようなコードを記述した時に発します。

ARRAY TEXT($pointer->;$i)

ポインタは実行時に正しく定義され、値がセットされている必要があります。もしポインタ変数(例では$pointer)にポインタをセットしていない、またはポインタの参照先が間違っているようなときに、ポインタを参照すると何が起きるか予想できません。問題があるにも関わらず問題なく動作したように見えることもありますし、異常終了することもあります。

この2例の他にも、様々な警告を目にすることがあるかもしれません。

警告は、構文上のエラーではありません。プログラムとして正しい場合でも、警告メッセージは表示されます。警告は実際に動作させた時に、プログラムの流れによっては重大な問題に発展する可能性があるので、十分に注意しなければならないことを表しています。つまり警告は、十分検討されたプログラムであれば問題ないのです。

警告ボタンエラーだけをチェックしたいとき、警告が表示されていると、肝心のエラーを見落とすかもしれません。そのようなときには、警告を非表示にすることができます。Compilerウィンドウのツルーバーに黄色い三角のピクチャボタン(右図参照)があります。このアイコンをクリックすることで、警告メッセージの表示/非表示を切り換えられます。