kprolog K-Prolog Compiler Version 6.0

コンパイラとローダ

本節ではソースプログラムをコンパイルしてロードモジュールに変換し、 あるいは実行時にロードモジュールを動的に読み込むための組込み述語を 紹介します。


compile(@File)
Fileソースファイル名
compile(@File,@Option)
Fileソースファイル名
Optionコンパイルオプション

拡張ファイル名 File で指定されたファイルをコンパイルし、 ロードモジュールを生成します。
モジュール名は関数名として有効なものでなければなりません。 また、モジュールpublicをコンパイルすることはできません。
コンパイルは、$PLC/plcc によって行なわれます。

Optionは、 compact/fastcode、reduce(N)、interrupt/nointerrupt、 public/nopublic、csource/nocsource、log/nolog の中から選択可能で、アトムまたはリストで指定します。

compact
コードの大きさを小さくする最適化
fastcode
コードの実行速度を目標にした最適化
reduce(N)
部分計算による最適化計算を試みるネスト数
public
モジュール内のすべての述語をpublic宣言されたものとみなす
nopublic
publicの否定
interrupt
割り込みを必ず捕捉するコード
nointerrupt
割り込みを必ずしも捕捉しない速いコード
csource
.cおよび.hファイルを生成する
nocsource
.cおよび.hファイルを生成しない
log
.logファイルを生成する
nolog
.logファイルを生成しない
既定値は[compact, reduce(8), nopublic, nointerrupt, nocsource, nolog]です。

エラー
type_error


load_compiled_modules(@Modules)
Modulesモジュール名またはリスト
load_compiled_modules(@Modules,@Option)
Modulesモジュール名またはリスト
Optionオプション文字列

Modules に与える複数または1個のコンパイルされたモジュールを読み込んで 実行可能にします。
Option は、ローダ に与えるオプションでOSによって異なります。 通常は省略可能です。 外部述語を接続するときに必要なオブジェクトモジュールや ライブラリをここで指定します。

指定のモジュールは外部参照を解決していなければなりません。 すなわち、Modules で与えるモジュールはそれらのモジュールの外に 対しては組込み述語以外の外部への参照を含んではなりません。
外部への参照が残ってしまった場合は、 ローダのコマンド ld のエラーメッセージが表示されます。(このエラー メッセージはログファイルには残りません。)
解決されていない外部参照を含む述語を呼び出した場合、 その動作は不定です。

同じ名前のモジュールを2回目にロードしたときには 前にロードした部分はコンパイラから切り離されます。

エラー
instantiation_error
type_error


compile_option(@Option)
Optionコンパイルオプション

Option は、compile/2 の第2引数と同じです。 この述語はコンパイルされるファイルの中で宣言として使います。 compile/2 で指定したオプションは、この宣言で上書きされます。 この述語が複数回使われたときは、最後のものが有効です。



一つ上に戻る 目次に戻る