% defining grammar rule operator
:- op(1200,xfx,'--->').

% lexicon:
vp  ---> [left].
vp  ---> [duck]. 
vs  ---> [thought].
vs  ---> [saw].
vt  ---> [saw].
vt  ---> [loved].
det ---> [the].
det ---> [a].
det ---> [her].
n   ---> [dragon].
n   ---> [telescope].
n   ---> [man].
n   ---> [cave].
n   ---> [duck].
pp  ---> [there].   
p   ---> [in].
p   ---> [at].
p   ---> [with].
np  ---> [mary].
np  ---> [midnight].

% syntactic rules:
s  ---> [np, vp]. 
vp ---> [vp, pp].
vp ---> [vt, np].
vp ---> [vs, s].
np ---> [det, n].
n  ---> [n, pp].
pp ---> [p, np].  
