/* determiners */ det(the). det(a). det(this). det(that). /* prepositions */ prep(on). prep(in). prep(at). prep(under). prep(to). /* nouns */ noun(house). noun(table). noun(man). noun(woman). /* verbs */ verb(sees). verb(sits). verb(looks). verb(persuades). verb(thinks). verb(knows). verb(puts). /* DCG */ sentence(s(NP,VP)) --> /* construct tree for S */ noun_phrase(NP), verb_phrase(VP). verb_phrase(vp(V,PP)) --> /* construct tree for VP */ verb(V), prep_phrase(PP). prep_phrase(pp(P,NP))--> prep(P), noun_phrase(NP). noun_phrase(np(D,N))--> determiner(D), noun(N). /* Lexikal Rules */ determiner(det(D)) --> [D], { det(D) }. noun(n(N)) --> [N], { noun(N) }. prep(p(P))--> [P], { prep(P) }. verb(v(V))--> [V], { verb(V) }. chris(L):- sentence(Tree,L,[]), drucke_baum(Tree).