nlp4 - parse trees in functor notation
sentence(X,s(TN,TV)):- np(X, Y, TN), vp(Y, ['.'], TV).
np(X, Y, np(TD, TN)):- det(X, Z, TD), noun(Z, Y, TN).
np(X, Y, np(TD, TAL, TN)):- det(X, Z, TD), adjlist(Z, R,TAL), noun(Z, Y, TN).
np(X,Y, TN) :- noun(X,Y,TN).
np(X,Y, conj(TN1,Tconj, TN2)) :-
np(X,Z,TN1),conj(Z,W,Tconj),np(W,Y,TN2).
adjlist([A|X], X,TA) :- a(A, TA).
adjlist([A|X],Z,adjlist(TA, TAL)) :- a(A, TA),adjlist(X, Z, TAL).
...
det([A|X], X,T) :- d(A, T).
noun([A|X], X,T) :- nn(A, T).
...
v(likes, verb(likes)).
...