:- use_package(dcg).

s --> np, vp.
np --> det, n.
vp --> v, np.

det --> [the].  det --> [a].
n   --> [cat].  n   --> [fish].
v   --> [eats].