09/07/12 06:03:56
>>440
% Prolog (2/2)
文(_文,R) :- 主語(_文,R1),後置部(R2,R3),目的語(R2,R3),述部(R3,R4),句点(R4,R).
後置部(L,R) :- 後置詞(L,R1),読点(R1,R).
後置詞(['は'|R],R).
読点(['、'|R],R).
句点(['。'|R],R).
構造定義(Lines) :-
member(_行,Lines),
split(_行,[':',':',' ',' '],[F|L2]),
append(L3,[_],L2),
要素定義(F,L3),
fail;
true.
要素定義(F,L) :-
member(A,L),
P =.. [F,[A|R],R],
assertz(P),
fail;
true.