Move to
Next Prev
Up Top
Zoom to
バージョン3から4への移行
イントロダクション
abolish
abort
# append
arg
計算式(arithmetic)
アリティ(arity)
ASCII文字
assert
asserta_term, asserto_term, assertz_term
atom, atomic_length
\(バックスラッシュ)
#bagof, #setof
block, exit_block, cut_block
break
bye
call, execute
文字セット, char_code
#clause, #clause_term
clear_eol, clear_eos, clear_screen
close
コメント
compare
項の比較
値の比較
compiles
concat
連言(conjunction)
consult
コントロールスタック(control stack)
データの型変換(conversion)
copy_term
correct
cpu時間
#current_predicate, #current_atom, current_language
!(カット)
データベース(database)
debug, nodebug, debug_goal
debug_mode
decompcons
指令(directives)
選言(disjunction)
display
編集(edit)
終了(end)
end_of_file文字
equiv_char, image_length, byte_length
例外処理(exceptions)
error_protect, exception, exception_handler
exists
exit
expand_term, phrase(+ゴール,?リスト)
?- export, ?- common, ?- import, ?-hidden
事実(fact)
fail
filepos, files, flush, reset_streams
findall
float_format
# for
functor
gc
get, get0, get_until
getchar
getenv, get_home, get_last, move_cursor
get_global, # global_variable
ゴール(goal)
文法規則(grammar rules)
リストの先頭(head of list)
節のヘッド(head of clause)
help
ifprolog
ifsem
include
index
入力ストリーム(input stream)
インタプリタレベル(interpreter level)
is
length, #reverse
list_mode, listing
リスト(lists)
load, loaded
localtime
ループ(loops)
lower_upper, national_letters
make_atom, make_number
match, # match
# member
modify_mode
?- module, ?- module_body
name
nl
:- nonotify, nonotify
not
number
once
オペレータ(operator)
op, # current_op
outpos, outtab
出力ストリーム(output stream)
program_parameters, system_parameters, user_parameters
parse_atom
parse_position
predicate, predicate_mode
predicate_type
print
手続き(procedure)
program
# prolog_flag
prolog_library
prolog_system, prolog_version, proroot
put
put_byte, get_byte
raise_error
read, read_term
read_error, report_read_error
reconsult(+ファイル名)
# repeat
#retract
retractop
save_system, save_module
see, seeing, seen
set_global
set_home, setoutpos, setupterm
signal, signal_handler, alarm
skip
sort, keysort
spy
dbsize, ssize, gused, dbused, tused, lused
statistics
open, close, stream_control, #current_stream, link_stream
文字列(strings)
複合項(structures)
subatomic
sum, inc
symbol
計算式の構文(syntax of arithmetic expression)
構文チェッカー(syntax checker)
syntax_error
項の構文 (Syntax of terms)
system
system_date, system_time
system_predicate
tab
tell, telling, told
項(term)
X is time
trace, notrace, trace_mode, trace_goal
trace, tracing, traced
トレイル(trail)
true
tty_size
type_of, atom, nonvar, atomic, numeric, digit, realn, integer, struct, letter, var
未定義の述語(undefined_predicate)
?項1 = ?項2, +項1 \= +項2
?複合項 =.. -Univリスト, -複合項 =.. ?Univリスト
unload
unset_global
user
変数(variables)
write
See also
イントロダクション
インストールガイド
ユーザーズ・ガイド
IF/PrologのX開発環境
IF/Prolog V4.1 レファレンスマニュアル
IF/Prolog Interfaces
IF Computer > IF/Prolog > Manuals > IF/Prolog V4.1 マニュアル > IF/Prolog V4.1 レファレンスマニュアル

IF/Prolog V4.1 レファレンスマニュアル

read on...
バージョン3から4への移行
IF/Prologバージョン3に属するいくつかの述語が、IF/Prologバージョン4の下にもう使えなくなりました。ところで、以前IF/Prologバージョン3上で開発された古いプログラムをIF/Prologバージョン4上で走らせるケースもあります。そこで、IF/Prologバージョン3互換性モジュールがIF/Prologバージョン4の中に含まれています。そのモードがversion3:initという述語を呼び出すことによって初期化されます。...
イントロダクション
abolish
abolish(+ヘッド)...
abort
その時点でのゴ−ルの実行を中止しインタプリタのループに戻ります。breakの呼び出しのためにインタプリタのル−プが入れ子になっている場合は、インタプリタのトップレベルへ戻ります。インタプリタのループ中にない場合は、Exceptionは起こりませんが、これはエラーとしてみなされます。その場合のIF/Prologの終了コードは1です。...
# append
# append(?リスト1,?リスト2,?リスト3)...
arg
arg(+引数の位置_式,?複合項,?引数)...
計算式(arithmetic)
<算術 関数/述語/演算子>...
アリティ(arity)
項(例えば述語あるいは複合項)のアリティは、引数の数です。...
ASCII文字
assert
asserta(+節)...
asserta_term, asserto_term, assertz_term
asserta_term(+節,+変数リスト)...
atom, atomic_length
atom(+項)...
\(バックスラッシュ)
\(backslash)...
#bagof, #setof
# bagof(+テンプレート,+ゴール,-解答リスト)...
block, exit_block, cut_block
block(+ゴール,+マーク,+終了ゴール)...
break
break...
bye
bye...
call, execute
call(+ゴール)...
文字セット, char_code
文字セット(character set)...
#clause, #clause_term
#clause(?ヘッド)...
clear_eol, clear_eos, clear_screen
clear_eol...
close
close(+ストリーム)...
コメント
comment...
compare
compare(-比較,+項1,+項2)...
項の比較
以下の組み込み述語は、項の比較を行います。X,Yはどんな項でもよく、数値も出されません。...
値の比較
以下の組み込み述語は、値の比較を行います。引数 X,Yは、計算式でなければならず、比較述語によって評価されます。...
compiles
compiles(+ファイル名)...
concat
concat(+コンカットリスト,-アトム)...
連言(conjunction)
2つのゴ−ルの連言(論理積AND)は、ゴ−ルの間にコンマオペレ−タ (,/2) を置くことによって実現されます。連言は、両方のゴ−ルが成功した場合にのみ成功します。...
consult
consult(+ファイル名)...
コントロールスタック(control stack)
このスタックは、選択点や節の変数の環境についての制御情報を保持しています。バックトラックが起きると、コントロ−ルスタックは減ります。...
データの型変換(conversion)
以下の述語は、IF/Prologのデ−タの型変換を行います。...
copy_term
copy_term(+入力項,-出力項)...
correct
correct/0は、edit/0に類似しています。違いは、correctが対称とするファイルを自動的に決定するという点です。直前にコンサルトあるいはリコンサルトされたファイルが、そのエラーメッセージや警告を含めた形で編集されます。correctは、エラーメッセージがない場合に失敗します。通常IF/Prologの起動時に、複数のファイルをコンサルトするように指定できます(IF/Prologのパラメータ -c あるいは -cf を使用して下さい)。...
cpu時間
経過したcpu時間(単位は秒)は、Xに単一化されます。経過時間は、オペレ−ションの前後の時刻を調べることによって計算できます。...
#current_predicate, #current_atom, current_language
# current_predicate(-ロード元,-関数子,-引数の数)...
!(カット)
親ゴ−ルが実行を開始した時点以降のすべての選択点をカットします。カットは、親ゴ−ルのすべての節に作用します。...
データベース(database)
IF/Prologによって記憶され、アクセスされる事実とル−ルの集合をデ−タベ−スと呼びます。...
debug, nodebug, debug_goal
debug...
debug_mode
debug_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ)...
decompcons
decompcons(+文字列_表現,-文字リスト)...
指令(directives)
指令(directive)は、その場で実行されるべきインタプリタやコンパイラに対する命令で、読み込みと同時に実行されます。これらはコンサルトされたファイル、あるいはコンパイルすべきファイル中に置くことができます。...
選言(disjunction)
2つのゴ−ルの選言(論理和OR)は、ゴ−ルの間にセミコロン「;」を入れることで表されます。...
display
display(+項)...
編集(edit)
edit...
終了(end)
end/0はインタプリタレベルにある場合に、IF/Prologのセッションを終わらせます。新しいインタプリタに入るのにbreakを使っている場合には、endによって前のレベルに戻ります。これは、bye/0と等価です。...
end_of_file文字
ファイルの終了は、文字通り"end_of_file."と入力することによって設定されます。IF/Prologは、end_of_file以後は何も読み込みません。IF/Prologは、end_of_file文字のASCII値としてASCII 26を使用します。...
equiv_char, image_length, byte_length
equiv_char(+ベース,-旧リスト,+新リスト)...
例外処理(exceptions)
IF/Prologは、例外処理を容易に行うための汎用的なメカニズムを備えています。...
error_protect, exception, exception_handler
error_protectは、call/2と同様に「ゴール」を実行しますが、これはユ−ザ定義のエラ−保護のもとで行われます。「ゴール」の実行中に例外やエラ−が生じると、関連する例外メッセ−ジが「例外処理」の最初の引数に単一化され、「例外処理」が実行されます。...
exists
exists(+ファイル名,+ファイル許可)...
exit
exit(+返り値)...
expand_term, phrase(+ゴール,?リスト)
expand_term(+入力項,-出力項)...
?- export, ?- common, ?- import, ?-hidden
?- export(+述語リスト)...
事実(fact)
事実は、対象物やそれらの関係を宣言します。証明すべきボディ節がないので、その真偽は他のどの節とも関係がありません。...
fail
この述語は、常に失敗します。true/0は、常に成功します。...
filepos, files, flush, reset_streams
filepos(-行番号)...
findall
findall(+テンプレート,+ゴール,-解答リスト)...
float_format
float_format(-旧フォーマット,+新フォーマット)...
# for
# for(+初期値_式,-カウンタ,+最終値_式)...
functor
functor(+複合項,-関数子,-引数の数)...
gc
gc/0は、スタックに対してIF/Prologのガ−ベッジ・コレクタを呼び出します。これは、ある種のアルゴリズム中の適切な地点で使うと便利です。通常ガ−ベッジ・コレクションは、スタックのメモリ量が少なくなった時にPrologが自動的に行います。...
get, get0, get_until
get(-表示文字コード)...
getchar
getchar(+文字列_式,+位置_式,-文字)...
getenv, get_home, get_last, move_cursor
getenv(+環境変数名,-環境変数値)...
get_global, # global_variable
get_global(+グローバル変数名,-項)...
ゴール(goal)
IF/Prologは、ゴ−ルを満たそうとします。ゴ−ルは以下のようなものです。...
文法規則(grammar rules)
文法規則は以下のような記述をPrologの規則や事実に変更します。...
リストの先頭(head of list)
リストの先頭とは、リストの最初の要素です。これは、以下の例のようにしてアクセスすることができます。...
節のヘッド(head of clause)
    先頭 :-ボディ. ...
help
help...
ifprolog
ifprolog [システムパラメタ] [ユーザパラメタ]...
ifsem
ifsem [パラメタ] ファイル...
include
include(+ファイル名)...
index
index(+文字列_式,+副文字列_式,-位置)...
入力ストリーム(input stream)
IF/Prologは、現在入力ストリ−ムと標準入力ストリ−ムを維持しています。標準入力は、'user'と呼ばれます。 ...
インタプリタレベル(interpreter level)
IF/Prologを起動させると、インタプリタレベルに入ります。プロンプト"?-"は、インタプリタレベルにいるということを示しています。プロンプトで入力されるゴ−ルは、ただちに実行されます。...
is
-結果 is +計算式...
length, #reverse
length(+リスト,-長さ)...
list_mode, listing
list_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ)...
リスト(lists)
リストは順序づけられた要素の並びで、その長さは任意です。リストの要素(引数)は、アトムや複合項、その他のどんな項であってもよく、他のリストも含みます。...
load, loaded
load(+ファイル名)...
localtime
localtime(+時刻,-年,-月,-日,-曜日,-年累積日数,-時,-分,-秒)...
ループ(loops)
IF/Prologにおいてル−プを作るには2通りの方法があります。再帰的にプログラムを作るか、あるいはル−プ機構としてバックトラックを使う方法です。...
lower_upper, national_letters
lower_upper(+小文字_列,-大文字_列)...
make_atom, make_number
make_atom(+文字列_式,-アトム)...
match, # match
match(+パターン,+アトム)...
# member
# member(?要素,?リスト)...
modify_mode
modify_mode(+関数子,+引数の数,-旧スイッチ,+新スイッチ)...
?- module, ?- module_body
?- module(+モジュール名)...
name
name(+アトム,-文字コードリスト)...
nl
nl...
:- nonotify, nonotify
:- nonotify...
not
not(+ゴール)...
number
number(+数字,-文字コードリスト)...
once
once(+ゴール)...
オペレータ(operator)
IF/Prologでは、オペレ−タは不可欠なものではないということに注意して下さい。オペレ−タは、構文をわかりやすくするために使われます。以下の2つの等価な項のうち、最初の方が簡単でわかりやすくなっています。...
op, # current_op
op(+優先順位,+演算子分類,+演算子リスト)...
outpos, outtab
outpos(-列)...
出力ストリーム(output stream)
IF/Prologは、現在エラ−ストリ−ムや標準エラ−ストリ−ムと同様に、現在出力ストリ−ムや標準出力ストリ−ムを維持します。標準出力は'user'と呼ばれ、標準エラ−は'trace'と呼ばれます。...
program_parameters, system_parameters, user_parameters
program_parameters(-パラメータリスト)...
parse_atom
parse_atom(+アトム,+位置_式,-構文解析された項,-変数リスト)...
parse_position
parse_position(-次の位置)...
predicate, predicate_mode
predicate(+述語リスト)...
predicate_type
predicate_type(+関数子,+引数の数_式,-述語の分類)...
print
print(+ストリーム,+フォーマット,[+項,...])...
手続き(procedure)
手続き(IF/Prologでは"述語"の同義語)は、同じ関数子名と同じ引数の数を持つ、節の集まりです。そのため、組み込み述語match/2とmatch/3に対する節は、2つの違う手続きになります。"手続き"という名称は、述語の手続き的意味を強調した言い方です。...
program
program/0はユ−ザによって定義されていれば、IF/Prologシステムによって最初に実行される述語です。...
# prolog_flag
# prolog_flag(+フラグ,-旧スイッチ,+新スイッチ)...
prolog_library
prolog_library(+ディレクトリ名)...
prolog_system, prolog_version, proroot
prolog_system(-計算機名)...
put
put(+文字コード_式)...
put_byte, get_byte
put_byte(+コード式)...
raise_error
raise_error...
read, read_term
read(-項)...
read_error, report_read_error
read_error(-位置,-エラーコード)...
reconsult(+ファイル名)
reconsult/1はインタプリタに、「ファイル名」に含まれているプログラムを読み込むように指示します。システムは始めに「ファイル名」を探し、次に「ファイル名」.proを探します。consult/1と異なる点は、リコンサルトされたファイルで定義されている手続きに対して、デ−タベ−ス上に同じ手続きがある場合、その定義をファイルに含まれる節による定義で置き換えてしまう点です。このようにreconsult/1は、retractやassert_を使わずに、また、最初からやり直してプログラムを構成している全てのファイルをコンサルトしたりせずに、1つ、あるいは複数の述語を"修正"することができます。...
# repeat
repeat/0は、常に成功する組み込み述語です。"fail"の後、IF/Prologは最後に成功した節までバックトラックをして戻り、別の解を満たそうと試みます。repeatが手続き中で最後に成功した節であった場合には、その結果として"無限個の解"を持つことになり、バックトラックが無限に繰り返されることになります。repeatは、次の様な節で定義されたように動きます。...
#retract
#retract(?節)...
retractop
retractop(+優先順位,+演算子分類,+演算子リスト)...
save_system, save_module
save_system...
see, seeing, seen
see(+ファイル名)...
set_global
set_global(+グローバル変数名,+項)...
set_home, setoutpos, setupterm
set_home(+行_式,+列_式)...
signal, signal_handler, alarm
signal(+シグナル,-旧スイッチ,+新スイッチ)...
skip
skip(+文字コード_式)...
sort, keysort
sort(+未整列リスト,-整列済リスト)...
spy
spy(+ゴール,+ポート) :- 条件....
dbsize, ssize, gused, dbused, tused, lused
dbsize ssize gused...
statistics
statistics/0...
open, close, stream_control, #current_stream, link_stream
open(+論理名,+汎ストリーム(+物理名),[+オプション,...])...
文字列(strings)
Prologでは文字列は、文字コードのリストとして表現されます。文字列がダブルクォ−トで囲まれている場合には、その文字列は文字コ−ドのリストに変換されます。...
複合項(structures)
IF/Prologでは複合項は、その関数子と引数を指定することによって書かれます。この引数は複合項でありえます。関数子は開き括弧"("の直前に書きます。引数は括弧で囲まれていて、コンマで分けられています。引数は、Prologのどんな項でもかまいません。...
subatomic
subatomic(+文字列_式,+位置_式,+長さ_式,-副文字列)...
sum, inc
sum(?計算式1,?計算式2,?計算式3)...
symbol
symbol(+シンボル,-モジュール,-名前)...
計算式の構文(syntax of arithmetic expression)
計算式は、Prologの項のサブクラスです。オペレ−タの使用を含めた完全なPrologの構文を使って、計算式を書くことができます。式は、特定の述語によってのみ評価されます。ほとんどの述語は、式をPrologの標準的な項として扱います。式は、以下のいずれかです。...
構文チェッカー(syntax checker)
構文上の誤りは、consult/reconsultを入力する際と、組み込み述語read/1,/2を用いて項を読み込みをする際とに検出されます。構文に従わない節や指令や項は読み込まれるとすぐに端末に表示されます。...
syntax_error
syntax_error(+エラーコード,-メッセージ)...
項の構文 (Syntax of terms)
全てのPrologの項は以下のような正規文法を用いて表現できます。...
system
system...
system_date, system_time
system_date(-日付)...
system_predicate
system_predicate(+関数子, +引数の数)...
tab
tab(+カウンタ_式)...
tell, telling, told
tell(+ファイル名)...
項(term)
項は、定数、変数、あるいは複合項のいずれかです。...
X is time
Xは、グリニッジ標準時、1970年1月1日0:00:00からの経過秒数を表す整数に単一化されます。...
trace, notrace, trace_mode, trace_goal
trace...
trace, tracing, traced
trace(+ファイル名)...
トレイル(trail)
トレイルは、バックトラックの時に解放されなければならない、変数の割り当てについての情報を保持しているスタックです。このため、このスタックは実行が続けられると増大し、バックトラックが起きると減少します。...
true
常に成功します。fail/0は、常に失敗します。...
tty_size
tty_size(-行,-列)...
type_of, atom, nonvar, atomic, numeric, digit, realn, integer, struct, letter, var
type_of(+項, ?型)...
未定義の述語(undefined_predicate)
デ−タベ−ス中に節がない述語を呼び出すと、例外メッセ−ジ"undefined_predicate"が出されます。...
?項1 = ?項2, +項1 \= +項2
これまで非公式に述べてきましたが、解探索の正式な定義においてマッチングの過程を単一化といいます(/ClocMel/を参照して下さい)。これは、2つの項が事実上同一になるまで一致させようという過程です。...
?複合項 =.. -Univリスト, -複合項 =.. ?Univリスト
オペレ−タ=../2は、歴史的な理由でunivと呼ばれます。...
unload
unload(+ファイル名)...
unset_global
unset_global(+グローバル変数名)...
user
組み込み入/出力述語を使う場合、標準入/出力ストリ−ム(通常は端末のキ−ボ−ドと画面)の同義語です。これらのストリ−ムは閉じることはできません。...
変数(variables)
変数は、頭文字が大文字か下線文字"_"であるという構文上の規則によって、他の項と区別できます。以下に変数の例を上げておきます。...
write
write(+項)...
IF/Prolog by Siemens
Language
English
Japanese
German
Server
USA
Japan
Site Access
Local Index
Local Contents
Site Contents
Site Index
Printer Friendly
For imode
For PDA
Search
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/reference/home_en.html
published 2008/5/12 update 1996/3/31 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 info@ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
scroll to top managed with ubiCMS