:- op(700,xfx,@).


s  ---> np, vp.
pp --->  p, np.
vp --->  v, np.
vp ---> vp, pp.
np ---> np, pp.


p ---> [with].

v ---> [saw].

np ---> [saw].
np ---> [astronomers].
np ---> [ears].
np ---> [stars].
np ---> [telescopes].

