/****************************************************************
A DCG for simple English questions using gap threading

This version: 13/06/03 stwa
****************************************************************/

np(F-F) --> det,n.
np(F-F) --> pn.
np([gap(np)|F]-F) --> [].       

pp(F-G) --> p,np(F-G).


%subject interrogative
s(F-F) --> wh, vp(F-F,fin).
 
% object interrogative
s(F-F) --> wh, aux, np(F-F), vp([gap(np)|F]-F, inf).
 
vp(F-G, FIN) --> v(1, FIN),np(F-G).
vp(F-G, FIN) --> v(2, FIN),np(F-H),pp(H-G).

% auxiliary
aux --> [does].

% wh-pronoun
wh --> [who].


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

n --> [witch].
n --> [wizard].
n --> [house-elf].

p --> [to].

pn --> [harry].

prorel --> [who].

v(1,inf) --> [like].
v(1,fin) --> [likes].

v(1,inf) --> [watch].
v(1,fin) --> [watches].

v(2,inf) --> [give].
v(2,fin) --> [gave].

