next up previous contents
Next: プログラムの実行 Up: 1.2.1 プログラムの形式と基本実行機構 Previous: 1.2.1 プログラムの形式と基本実行機構

簡単なプログラム

もっとも簡単な KL1 プログラムの例として, 入力の 0, 1 を反転して出力す るインバータを考えてみる. プログラムは以下のように書ける.

not(In, Out):- In = 0 | Out = 1.
not(In, Out):- In = 1 | Out = 0.

この二行のプログラムは, それぞれ:

と読む. このふたつの行をそれぞれ (clause) と呼び, KL1 のプロ グラムの基本単位である.

それぞれの節の冒頭部分にある `` not(In, Out)'' は, この節が述語 not に関する定義であること, 引数はふたつで, この節の中ではそれぞれ In, Out と呼ぶことを宣言している. この部分を節の ヘッド (head) と呼 ぶ. 述語という名前は KL1 の論理型言語としての生い立ちから来るの だが, ここでは単に手続き, あるいはサブルーチンのことだと思ってさしつか えない.

ヘッドに続く `` :-'' の後, 縦棒 (``|'') の前までを ガー ド (guard) と呼ぶ. ガードはその節を選んで良いかどうかの条件を指定す る条件部である.

縦棒の後, フルストップ (`` .'') までを ボディ (body) と呼ぶ. ボディはその節を選んだときに何をするかを指定する部分である. ボディに はいろいろなものが書けるが, この例では出力用の引数の値を決める操作であ る `` Out = 1'' などを行なっている.



next up previous contents
Next: プログラムの実行 Up: 1.2.1 プログラムの形式と基本実行機構 Previous: 1.2.1 プログラムの形式と基本実行機構



KLIC