Я написал следующий CFG для разбора предложений, таких как (том ели пиццу), (Билл ела рис) ... и т. Д. В PROLOG.
s(s(NP,VP))-->np(NP),vp(VP).
vp(vp(VBD,NP))-->vbd(VBD),np(NP).
np(np(NN))-->nn(NN).
np(np(NNP))-->nnp(NNP).
nn(nn(pizza))-->[pizza].
nn(nn(rice))-->[rice].
nnp(nnp(john))-->[john].
nnp(nnp(harry))-->[tom].
vbd(vbd(ate))-->[ate].
Я хотел бы изменить грамматику так, чтобы она могла анализировать те же предложения, что и (и). Мне нужно разобрать (Том ел пиццу, а Билл ел рис).