          /*   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).
