====== SLProlog ====== * 以下の三つのことを調べるために作った習作 * 論理型言語の処理系の作り方 * Silverlightアプリケーションの作り方 * 自動定理証明の手法 * なのであんま実用性ないよ * エラー処理とかもしてないし。。。 ====== SLProlog - Silverlight上でのPrologインタプリタ ====== ===== 概要説明 ===== SLPrologは、Silverlightプラットフォーム上で動作するPrologのインタプリタプログラム。Prologでかかれたプログラムと、ゴールを入力することができる。実行結果は、実行が成功したか失敗したかを表示し、ゴールに変数が含まれて入れば、そのそれぞれの変数がどの項に単一化されたか表示する。この処理系はバックトラックにも対応している。 ===== 動作に必要な環境 ===== * Microsoft Silverlightか、Mono ProjectのMoonlightが動作する環境 * 動作確認環境 * Gentoo Linux 10.1+Firefox * Windows Server 2003+IE * Mac OS X 10.5+Firefox ===== 使用方法 ===== 実行手順は以下のとおり。 - Silverlightの実行環境がインストールされたPCで、SLPrologのページ(http://www.sunaga-lab.net/g-pro/sfc/slrun/slprolog.php)へアクセスする - [Source Code]タブの中のプログラム入力欄(Program Source Code)にプログラムを入力する - [Program]タブにあるゴール記入欄(Goal)にゴールを入力する - 実行ボタン(Run)をクリックする * 実行結果が結果欄(Result)に表示される - 実行に成功したのち、次の解を探索したい場合は、次の解ボタン(Next)をクリックする ===== 処理系としての主な制限 ===== * 文字列を扱うことができない。 * 組み込み述語は以下のとおりである * 比較演算子(/2、==/2) * atom/1 * is/2 * print/1 * nl/0 * カットは利用可能である。