next up previous contents
Next: 1.4 もうちょっと複雑な使い方 Up: 1 KLICの使い方 Previous: 1.2 まず走らせよう!

1.3 KL1プログラムの構成

では, KL1プログラムの構成を見てみよう (図1.1参照).

  
図 1.1: nrev0.kl1

まず, 最初に:- module main.と書かれているが, これは モジュール宣言と呼ばれるものである (詳細はのちほど説明する). まずは, KL1プログラムの最初は必ず :- module main.と書いておけば良い, と理解しておけば良い.

次に, main :- ... と書かれているが, これは, 述語main を定義していることを表す. klicコマンドでコンパイルしてできたコードは, まず, この述語mainを実行する決まりになっている. したがって, KLIC システムで利用するためのKL1プログラムには必ずこの述語mainが 存在する必要がある (必ずしもファイルの先頭で定義されている必要はない). 「本当に行ないたいこと (今回であれば, nrev([1,2,3,4,5,6],X)という 述語)」はこの述語mainから呼び出されるようにしておけば良い.

また, io:outstream([print(X),nl]) とあるのは, 項Xを標準出力に印字するための述語呼出しであり, あらかじめシステムで用意されていものである. 述語io:outstream(Stream)は, Streamに流れて来るメッセージに従い, 標準出力に 印字を行う. 今回は, 以下の2種類のメッセージを利用している.

これで, 簡単なKL1プログラムを書いて, klicコマンドでコンパイルし, 実行できるようになった.



next up previous contents
Next: 1.4 もうちょっと複雑な使い方 Up: 1 KLICの使い方 Previous: 1.2 まず走らせよう!



KLIC