いろんな言語で宿題スレ
■ このスレッドは過去ログ倉庫に格納されています
0884デフォルトの名無しさん
2009/10/27(火) 10:19:40% Prolog
'変換規則を可能な限り使い、変換できなくなるまで変換の過程を出力'(_ファイル名,_開始要素) :-
abolish(変換規則/2),
変換規則ファイルの読み込み(_ファイル名),
変換規則の変換過程ならび(_開始要素,_変換過程ならび),
concat_atom(_変換過程ならび,' -> ',S),
wr('%t\n',[S]),
fail.
'変換規則を可能な限り使い、変換できなくなるまで変換の過程を出力'(_,_).
変換規則の変換過程ならび(A,[]) :-
\+(変換規則(A,_)).
変換規則の変換過程ならび(A,[A,B|R]) :-
変換規則(A,B),
変換規則の変換過程ならび(B,R).
変換規則ファイルの読み込み(_ファイル) :-
get_lines(_ファイル,Lines),
member(_行,Lines),
split(_行,[' -> ','->'],[A,B]),
assertz(変換規則(A,B)),
fail.
変換規則ファイルの読み込み(_).
■ このスレッドは過去ログ倉庫に格納されています