AZ-Prolog ユーザーズマニュアル

## マニュアルの使い方

AZ-Prologのマニュアル構成は以下の通りです。

- 【1】ユーザーズマニュアル
- 【2】述語リファレンス
  - 1.機能別一覧及び検索
  - 2.ABC順一覧及び検索
  - 3.電子マニュアル呼び出し機能
- 【3】サンプルコード

マニュアルはダウンロードしたパッケージにその時の最新版を同梱しておりますが、随時改訂しておりますので、ホームページでは最新の版をご覧いただけます。

### 【1】ユーザーズマニュアルについて

AZ-Prologのインストール方法、各コマンドの使用方法、Prolog言語の説明などが記述されています。
ここでの説明はリファレンス形式では書かれておらず、AZ-Prologを使いこなす手助けになる内容が記述されています。
また、このマニュアルの「3.起動と終了」以降は、コンソール・アプリケーションとしてのインタプリタやコンパイラ等のコマンド解鋭になっております。
本マニュアルではWindows（Shift_JIS）の操作及び機能を解説しています。
LinuxまたはMacをお使いの際は読み替えてご利用ください。
ユーザーズマニュアルトップはこちら

### 【2】述語リファレンスについて

述語リファレンスページではAZ-Prologの述語を検索することができます。

##### 1.機能別一覧

a.機能別に述語が一覧表示されます。

b.検索フォームに検索したい文字列を入力すると、その文字列を含む検索結果が一覧表示されます。
c.文字列をクリックすると述語の詳細が表示されます。
述語リファレンス機能別一覧はこちら

##### 2.ABC順

アルファベットの頭文字をクリックすると、その頭文字ではじまる述語が一覧表示されます。

述語リファレンスABC順はこちら

##### 3.電子マニュアル呼び出し機能

AZ-Prologには電子マニュアルが付属しています。
このマニュアルをインタプリタのトップレベルなどから標準組込述語名やキーワードを指定して、直接起動させる事が出来ます。
この機能を使用するには、標準組込述語の manual/0 または manual/1 を使用します。

###### manual/0

マニュアルがブラウザで立ち上がります。

    | ?-manual.↓

→マニュアルの目次が表示されます。

###### manual/1

標準組込述語名またはキーワードで指定する述語リファレンス/ユーザーズマニュアルがブラウザで立ち上がります。
1.manual（述語名）述語名に対応する述語リファレンスを呼び出します。

    | ?-manual(write).↓

→「 write/1 」「 write/2 」が表示されます。
2.manual（述語名/引数）述語名/引数に対応する述語リファレンスを呼び出します。

    | ?-manual(write/1).↓

→「 write/1 」が表示されます。
3.manual（キーワード）キーワードに対応するユーザーズマニュアルの章を呼び出します。

    | ?-manual(debugger).↓

→「6.デバッガ」の章が表示されます。

###### キーワード一覧

キーワード | 表示されるユーザーズマニュアル
--- | ---
debugger | 6.デバッガ
compiler | 7.コンパイラ
c_lang | 8.C言語インターフェース
clp | 9-1.制約論理
parallel | 9-2.並列処理支援機構
cgi | 9-3.CGIユーティリティ
oniguruma | 9-4.鬼車
mecab | 9-5.Mecab/Cabocha
socket | 9-6.ソケット
redis | 9-7.Redisインターフェース
odbc | 9-8.ODBC
ole | 9-9. OLEオートメーション
azedit | 9-10.内蔵エディタ(AzEdit)
other | 9-11.その他
errmsg | エラー・メッセージ一覧
console | コンソールヒストリテンプレートコマンド一覧

##### ※述語リファレンスの表記規則

###### 述語の表記

consult/1 ・・・述語名がconsultで引数が１個。
演算子及び算術関数は上記の様に引数とともに表記する場合と【演算子または算術関数名/オペレータの型】で表記する場合があります。
例）

###### データの型

入力すべきデータ、または出力されてくるデータの型を表します。

「T」 | 項。 特に型の指定のない引数。（ただし、ストリーム値を除く）
「C」 | 節の要素として許される項。 節の要素として許される項(「数値」と「ストリーム値」を除く項）を与えなくてはならない引数。もしくは節の要素として許される項が返される(ユニファイされる）引数。 節に「?-」「:-」「->」「,」「;」などは1000を超える優先順位を持つオペレータが含まれている場合はその節全体を「（）」で囲む必要がある。
「A」 | アトム。 必ずアトムを与えなくてはならない引数。もしくはアトムが返される（ユニファイされる）引数。ファイル名などアトムとして許されない文字列（ピリオド「. 」）が含まれる、または英大文字で始る場合はシングルクォートで囲む必要がある。 例）' test.pl' 'ABCD'
「I」 | 整数値。 整数を与えなくてはならない引数。( 数式が許される場合もある）もしくは整数値が返される（ユニファイされる）引数。
「AR」 | アレイ。 必ずアレイを与えなくてはいけない引数。もしくはアレイが返される引数。
「F」 | 実数値。 実数を与えなくてはいけない引数。もしくは実数値が返される（ユニファイされる）引数。
「N」 | 数式または数値。 数式または数値を与えなくてはならない（数式が許されない場合もある）引数。もしくは整数値か実数値が返される（ユニファイされる）引数。
「L」 | リスト。 リスト形式の複合項を与えなくてはならない引数。もしくはリストが返される引数。（ストリングも含む）
「S」 | ストリーム値。 ストリーム値を与えなくてはならない引数。もしくはストリーム値が返される（ユニファイされる）引数。

・同じデータ型の引数が複数個ある場合は、それらに番号nを付けて区別します。
例）OP(+I,+A1,A2)
・指定の型が２つ以上ある場合は、「・」で区切った並びで示します。

・「T」「A」「I」「F」「N」「L」はそれぞれ指定の型のデータを持った変数でも構いません。

・出力引数に「未代入の（値を持たない）変数」を置くとその変数に出力値が代入されます。入力変数に「未代入の変数」を置く事は原則として許されません。

###### 引数の種類

「+」 | 入力引数。 入力する為の引数です。定められた型のデータを与えます。項目出力述語など特に許された場合を除いて、未代入の変数はエラー(Illegal argullent supplied) になります。
「-」 | 出力引数。 出力する為の引数です。出力データとユニファイされます。未代入の変数の場合、少なくともこの引数だけは必ず成功します（述語が成功するかどうかは他の引数に依存されます）。
「? 」 | 入出力引数。 データ型の検査や、代入・変換・比較などを行なう述語の引数のように場合によって入出力が不定の引数です。通常、未代入の変数でもエラーにはなりません。

### 【3】サンプルコード

AZ-Prologの基本的な使い方を学習できるサンプルコードを公開しています。
サンプルコードトップはこちら
▲