s --> np(subj), vp.

np(_) --> det, n.
np(_) --> pn.
np(CASE) --> pro(CASE).

vp --> vi.
vp --> vt, np(obj).


%% Lexicon

det --> [a].
det --> [the].

n --> [bride].
n --> [nurse].
n --> [yakuza].
n --> [whiskey].

pn --> [bill].
pn --> [gogo].

pro(subj) --> [he].
pro(subj) --> [she].
pro(obj) --> [him].
pro(obj) --> [her].

vi --> [whistles].
vi --> [fights].

vt --> [drinks].
vt --> [kills].
