| descartes-src (ソースパッケージ descartes-src-0.26.0.tar.gz) | 2012-09-09 20:57 |
| descartes-win (Windows用バイナリパッケージ descartes-win-0.26.0.zip) | 2012-09-09 20:52 |
| 会話キャラクター: ツンデレ アプリケーション (会話キャラ:ツンデレ v1.0 for Windows) | 2010-04-29 13:41 |
| 会話キャラクター: 2人の女の子 ダブルキャラクター (会話キャラクター 2人の女の子 ダブルキャラクター 1.0 for Windows) | 2011-10-02 22:23 |
| 会話キャラクター: Eliza風英語版 (会話キャラ:Eliza風英語版 v1.0 for Windows) | 2010-05-11 01:06 |
| 会話キャラクター: 猫耳メイド アプリケーション (会話キャラ:猫耳メイド v1.0 for Windows) | 2010-04-27 21:15 |
| 会話キャラクター: イライザ風日本語版 (会話キャラ:イライザ風日本語版 v1.0 for Windows) | 2010-04-30 21:53 |
| 経済指標表示プログラム for Windows (経済指標表示プログラム V1.0) | 2011-08-18 22:04 |
| ニュースヘッドライン表示プログラム (ニュースヘッドライン表示プログラム V1.0 for Windows) | 2011-08-16 12:31 |
| デカルト言語 example (デカルト言語の例題 example-0.7.0.zip) | 2009-03-01 19:47 |
| 電力状況表示プログラム for Windows (2011年夏版 全国電力供給状況表示プログラム V1.0) | 2011-08-15 13:25 |
組み込み述語は、ライブラリモジュールと異なり、モジュール名 を指定しないで呼び出します。
<alt 述語...>
省略可能な述語実行を示します。内部で呼び出された
述語の実行結果に関わらずに必ずTrueで成功する述語です。
"[述語...]"とも書けます。
EBNF記法の[]として構文解析で使います。
<assert 節>
<asserta 節>
<assertz 節>
プログラムの1行の単位である節を追加します。
assertaは先頭に追加し、assertzは最後に追加します。
assertはassertaと同じで先頭に追加します。
<catch 変数 述語...>
引数の述語の実行中に、throw述語が実行されるとそれ以降
の処理を中断して、このcatch述語の全体の処理が成功して
終了する。そのときthrow述語の引数がcatch述語の変数に
設定される。throwが実行されずに引数の述語がすべて
実行されると、catch述語の変数には"()"が設定される。
<cd パス>
カレントディレクトリを引数で指定したパスに移す。
<compare 比較式>
<comparef 比較式>
比較式を評価。
compareは整数、comparefは不動小数点数の数式の比較
を行う。
<dir>
カレントディレクトリを表示します。
<eachproc (要素変数 要素リスト) 並列実行する述語 ...>
<eachproc 結果変数 (要素変数 要素リスト) 並列実行する述語 ...>
eachproc述語は、並列プロセス数を指定して並列実行する機能です。
指定されたリストの要素のプロセスが並列に生成されます。
eachprocで生成された全プロセスが終了すると、呼び出した
eachproc述語に制御が戻り、全プロセスの結果を回収します。
<edit ファイル名>
環境変数DEDITORPATHまたはEDITORに設定されたエディタを
使ってファイル名を編集します。
<eq 引数1 引数2>
引数1と引数2の比較し、同一ならばtrueになります。
<erase 節名>
節名に該当するプログラム、変数、オブジェクトをすべて削除します。
<exit>
実行を途中で中断する。
<f 変数 述語リスト>
<func 変数 述語リスト>
述語リストの中に含まれている関数述語を実行評価して
値を置き換えます。すべてを実行後に結果を変数に設定
します。
<findall 述語...>
述語を実行して、すべての解を求めます。
<firsteachproc (要素変数 要素リスト) 並列実行する述語 ...>
<firsteachproc 結果変数 (要素変数 要素リスト) 並列実行する述語 ...>
firsteachproc述語は、並列プロセス数を指定して並列実行する機能です。
指定されたリストの要素のプロセスが並列に生成されます。
firsteachprocで生成された全プロセスが一つでもtrueで終了すると、
呼び出したfirsteachproc述語に制御が戻り、最初に終了したプロセスの
結果を回収します。残りのプロセスは処理を打ち切られます。
<firstfor (変数 実行回数) 述語...>
<firstfor (変数 初期値 最終値) 述語...>
<firstfor 結果変数 (変数 実行回数) 述語...>
<firstfor 結果変数 (変数 初期値 最終値) 述語...>
firstfor述語は、for文と同じように動作しますが、最初にtrueで終了した
述語の結果を結果変数に設定して、以後の処理を打ち切ります。
<firstforeach (変数 リスト) 述語...>
<firstforeach 結果変数 (変数 リスト) 述語...>
firstforeach述語は、foreach文と同じように動作しますが、最初にtrueで終了した
述語の結果を結果変数に設定して、以後の処理を打ち切ります。
<firstnewproc (プロセス番号変数 プロセス数) 並列実行する述語 ...>
<firstnewproc (プロセス番号変数 プロセス番号初期値 プロセス番号終り値) 述語 ...>
<firstnewproc 結果変数 (プロセス番号変数 プロセス数) 並列実行する述語 ...>
<firstnewproc 結果変数 (プロセス番号変数 プロセス番号初期値 プロセス番号終り値) 述語 ...>
firstnewproc述語は、並列プロセス数を指定して並列実行する機能です。
指定された数のプロセスが並列に生成されます。
firstnewprocで生成されたプロセスが一つでもtrueで終了すると、
呼び出したnewproc述語に制御が戻り、最初に終了したプロセスの
結果を回収します。残りのプロセスは処理を打ち切られます。
<for (変数 実行回数) 述語...>
<for (変数 初期値 最終値) 述語...>
<for 結果変数 (変数 実行回数) 述語...>
<for 結果変数 (変数 初期値 最終値) 述語...>
指定された回数、引数の述語を実行します。
変数には、順に数が設定されます。実行回数が指定された
場合は0からの値が、初期値が指定された場合はその値から
実行回数または最終値を超えない値まで、1ずつ増加させ
ます。
述語は1ターンの実行後にすべての変数のバインド
がクリアされて最初から実行されます。
結果変数が指定されている場合には、実行された最初の述語の
第一引数を順に集めたものが結果変数にリストとして返されます
<foreach (変数 リスト) 述語...>
<foreach 結果変数 (変数 リスト) 述語...>
リストの要素ごとに引数の述語を実行します。
変数には、リストの値が順に設定されます。
述語は1ターンの実行後に実行中の変数のバインド
がクリアされて最初から実行されます。
結果変数が指定されている場合には、実行された最初の述語の
第一引数を順に集めたものが結果変数にリストとして返されます
<help>
<help 項目名>
ヘルプマニュアルを表示する。
引数なしで実行すると、組み込み述語とsysモジュールのライブラリ
の述語の一覧を表示する。
<include ファイル名>
ファイル名のライブラリからモジュールを読み込みます。
<is 項目1 項目2>
項目1と項目2をユニフィケーションし、同一になった場合には
trueを返します。
項目が変数の場合には、値の代入となります。
<let 変数 = 数式>
<letf 変数 = 数式>
<letc 変数 = 数式>
数式を計算します。
左辺が変数の場合は、計算結果を代入します。
左辺が数値の場合は、計算結果と等しいか判定します。
letは、整数の計算を行い、letfは浮動小数点数の計算を
行います。
letcは複素数を計算します。
<list [変数]>
プログラムリストを表示します。
<load ファイル名>
ファイル名のプログラムを読み込みます。
<loop 述語...>
述語実行の繰り返しを示します。内部で呼び出された
述語が失敗するとループを抜けます。
述語は1ターンの実行後に実行中の変数のバインド
がクリアされて最初から実行されます。
述語の実行結果に関わらずに必ずTrueで成功する述語です。
"{述語...}"とも書けます。
EBNF記法の{}として構文解析で使います。
<ls>
カレントディレクトリを表示します。
<map (変数 リスト) 述語...>
リストの要素ごとに引数の述語を実行します。
変数には、リストの値が順に設定されます。
述語は1ターンの実行後に実行中の変数のバインド
がクリアされて最初から実行されます。
<module 変数>
現在使用しているモジュールを変数に設定します。
<new>
プログラムをすべてクリアします。
<newproc (プロセス番号変数 プロセス数) 並列実行する述語 ...>
<newproc (プロセス番号変数 プロセス番号初期値 プロセス番号終り値) 述語 ...>
<newproc 結果変数 (プロセス番号変数 プロセス数) 並列実行する述語 ...>
<newproc 結果変数 (プロセス番号変数 プロセス番号初期値 プロセス番号終り値) 述語 ...>
newproc述語は、並列プロセス数を指定して並列実行する機能です。
指定された数のプロセスが並列に生成されます。
newprocで生成された全プロセスが終了すると、呼び出した
newproc述語に制御が戻り、全プロセスの結果を回収します。
<nop ...>
引数に対して何も操作をしません。
この述語は何も操作しない(No OPeration)です。
常にtrueを返します。
<not 述語...>
述語実行がtrueの場合はfalseを返します。
falseの場合はtrueを返します。
unknownの場合はunknownを返します。
<noteq 引数1 引数2>
引数1と引数2の比較し、同一でなければtrueになります。
<obj オブジェクト名 述語...>
指定されたオブジェクトまたはモジュールを使って、述語を
実行します。
オブジェクトとモジュールは、同等のものとして扱われるため
この2つは同じものです。
省略形として"::オブジェクト <述語...>"と記述できます。
<or 述語 述語 述語 ...>
引数の述語を先頭から実行し、trueになったところで
処理を打ち切りtrueを返します。
引数の述語を先頭から実行し、falseになったところで
処理を打ち切りfalseを返します。
すべての述語がunknownの場合は、unknownを返します。
EBNF記法の | として構文解析で使います。
<print リスト>
リストを出力した後、改行します。
<writenl リスト>と同じである。
<printf リスト>
リストを出力します。
printとの違いはリストの要素の間に空白が入らないことと
自動的には改行しないことです。
<printlist リスト>
括弧を外して、リストを出力します。
<printlistnl リスト>
括弧を外して、要素毎に改行しながら、リストを出力します。
<pwd [変数]>
カレントディレクトリを変数に設定します。
<quit>
プログラムの実行を中止して終了します。
<quote 述語>
引数の関数述語の評価を抑止します。
<retract 節名>
節名に該当するプログラム、変数、オブジェクトをすべて削除します。
<retractpred ヘッド>
ヘッドに該当するプログラムをすべて削除します。
<rpn 変数 逆ポーランド式>
<rpnf 変数 逆ポーランド式>
<rpnc 変数 逆ポーランド式>
逆ポーランド式を計算して、変数に結果を設定します。
rpnは、整数の計算を行い、rpnfは浮動小数点数の計算を
行います。
rpncは複素数の計算を行います。
<save ファイル名>
ファイル名のプログラムを書き込みます。
<self 変数>
変数に自身のオブジェクト名を設定する。
<super 変数>
変数に継承しているオブジェクト名のリストを設定する。
<throw 値>
引数の述語の実行中に、throw述語が実行されるとそれ以降
の処理を中断して、このcatch述語の全体の処理が成功して
終了する。そのときthrow述語の引数がcatch述語の変数に
設定される。throwが実行されずに引数の述語がすべて
実行されると、catch述語の変数には"()"が設定される。
<timeout 時間 述語>
設定した時間以内に、述語の実行が終了しない場合は
処理を打ち切り、unknownを返します。
設定時間はマイクロ秒単位です。
<troff>
デバッグトレースをオフにします。
<tron>
デバッグトレースをオンにします。
<true>
<false>
<unknown>
true, false, unknownを返す
<unify モジュール名 述語...>
指定されたオブジェクトまたはモジュールを使って、述語を
実行します。
オブジェクトとモジュールは、同等のものとして扱われるため
この2つは同じものです。
省略形として"::オブジェクト <述語...>"と記述できます。
<warn リスト>
リストをエラー出力に出力します。
出力後に改行します。
<x 述語...>
通常は何も行わない。
バックトラックしたときに引数の述語を実行する。
<!>
カット演算子
<% _ フォーマット 引数>
printfのためにフォーマットの整形をします。
<\ _ 文字>
エスケープ文字
<TOKEN 変数 述語...> 入力の構文解析述語実行後に、得られたtokenを変数に 設定します。 <SKIPSPACE> 入力のスペースをスキップします。 <C [変数]> 入力を一文字変数に設定します。 <N [変数]> 入力が数字であった場合は、変数に設定します。 違う場合はunknownを返します。 <A [変数]> 入力がASCII文字であった場合は、変数に設定します。 違う場合はunknownを返します。 <AN [変数]> 入力がASCII文字か数字であった場合は、変数に 設定します。 違う場合はunknownを返します。 <^> 行の先頭とマッチする。 <$> 行の最後とマッチする。 <* [変数]> 任意の文字列とマッチする。 <CR> 入力がCR改行であった場合には、trueを返します。 違う場合はunknownを返します。 <CNTL [変数]> 入力がCNTL文字であった場合には、変数に設定します。 違う場合はunknownを返します。 <EOF> 入力がEOF(End Of File)である場合はtrueを返します。 違う場合はunknownを返します。 <SPACE> 入力がスペースである場合はtrueを返します。 違う場合はunknownを返します。 <PUNCT> アルファベット、数字以外の文字である場合はtrue を返します。 <WORD [変数]> 任意の文字列で、アルファベット、数字、"_"以外 の文字列の場合はunknownを返します。 <NUM [変数]> 入力の符号無し整数を変換して、変数に設定します。 <FNUM [変数]> 入力の符号無し浮動小数点数を変換して、変数に設定します。 <SNUM [変数]> 入力の符号付整数を変換して、変数に設定します。 <SFNUM [変数]> 入力の符号付浮動小数点数を変換して、変数に設定します。 <GETTOKEN 変数> 直前の構文解析の結果であるトークンを変数に設定 します。 <ID [変数]> 入力の文字列(先頭はアルファベット、それ以外 は数字も可)、合致すれば変数に設定します。 <INDENT 変数> カレント行のインデントのスペースの長さを変数に設定します。 タブは、8文字と数えます。マルチバイト文字の空白は2文字と数えます。 引数が変数ではなく、数の場合は、カレント行のインデントのスペースの長さ と比較し一致していればtrueになります。 <RANGE 変数 文字1 文字2> <NONRANGE 変数 文字1 文字2> 文字1と文字2の範囲に含まれるならばtrue となります。 <NEXTCHAR 変数> 1文字先読みして、値を変数に設定します。 <NEXTINDENT 変数> カレント行の次の行のインデントのスペースの長さを変数に設定します。 タブは、8文字と数えます。マルチバイト文字の空白は2文字と数えます。 引数が変数ではなく、数の場合は、カレント行の次の行のインデントの スペースの長さと比較し一致していればtrueになります。 <NEXTSTR 文字列> 先読みして、文字列と等しいか判定します。 <NEXTSYNTAX プログラム> 先読みして、プログラムを実行します。 実行後には、ファイルの読み込み位置は開始時の位置に戻ります。 <NOTNEXTSTR 文字列> 先読みして、文字列と等しいか判定します。 等しくないときにtrueとなります。 <NOTNEXTSYNTAX プログラム> 先読みして、プログラムを実行します。 構文解析が失敗したときにtrueとなります。 実行後には、ファイルの読み込み位置は開始時の位置に戻ります。 <NULLLINE> 空行かどうか判定します。 <SKIP 文字列> 文字列までの構文解析を行わずにスキップします。 <SKIPCR> 改行までの構文解析を行わずにスキップします。
<newObj 名前> 新しい名前のオブジェクトを生成する。 <cloneObj 新オブジェクト 名前> 名前のオブジェクトを複製して新オブジェクトを生成する。 <delObj 名前> 名前のオブジェクトを削除する。 <method 名前> 新しいメソッドを名前で作成する <methoda 名前> 新しいメソッドを作成して、オブジェクトの先頭に追加する <methodz 名前> 新しいメソッドを作成して、オブジェクトの末尾に追加する。 <delmethod 名前> 指定された名前のメソッドを削除する。 <delmethoda 名前> 指定された名前の先頭のメソッドを削除する。 <delmethodz 名前> 指定された名前の末尾のメソッドを削除する。 <setVar 変数名 値> グローバル変数に値を設定します。 グローバル変数は、述語として以下の形式で登録 されます。 <変数名 値>; <setArray 変数名 値 インデックス> グローバル変数配列に値を設定します。 グローバル変数は、述語として以下の形式で登録 されます。 <変数名 値 インデックス>; <delVar 変数名> 変数名に合致する変数が削除されます。 <delArray 変数名 INDEX> 変数名に合致する配列変数が削除されます。 <変数名 値 インデックス>; 多次元の配列を仕様する場合は、インデックスを リストとして指定します。 <変数名 値 (インデックス1 インデックス2 ...)> インデックスは数以外にもいかなる種類や形式で も良いです。
[PageInfo]
LastUpdate: 2012-09-04 00:29:06, ModifiedBy: hniwa
[License]
Creative Commons 2.1 Attribution
[Permissions]
view:all, edit:login users, delete/config:login users