kprolog K-Prolog Compiler Version 6.0

プリプロセッサ

K-Prologには、C言語と類似のプリプロセッサを利用したマクロ機能があります。 プリプロセッサそのものは、pppコマンドとして $PLC に置かれています。
pppは、C言語のプリプロセッサcppと同様に
#include
#define
#ifdef
#if
#elif
#else
#endif
を処理します。また、不必要な空白やコメントを削除します。
別プロセスとしてこのコマンドを使用する場合は、 起動時のオプション-Dxxx=vvvと-Idirが指定できます。 これらのオプションの意味は、cppと同じです。

マクロ機能はプログラムを読み込むときにパイプを通して使用します。

   11: ?- seepp(test.dat),read(X),seen.
seepp は、指定のファイルをpppコマンドを通してパイプとして接続す る組込み述語です。

プログラムを -file.pl で読み込む時は pppを通して読み込まれます。 '-'を使えばプロプロセッサ文を含むプログラムを手軽に読み込むことが出来ます。 なお、コンパイラはコンパイル時にかならずプリプロセッサを使用します。

[例]
   ファイル mydefine.h
      #define foo(X,Y) f(Y,X)
		      .
		      .
		      .
   ファイル myprog.pl
      #include "mydefine.h"
      この後の foo(A,B)型の項は f(B,A) に置き換えられます。


一つ上に戻る 目次に戻る