Как изменить этот CFG, чтобы использовать соединение (и) для двух предложений? SWI-Prolog - PullRequest
0 голосов
/ 12 ноября 2018

Я написал следующий 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].

Я хотел бы изменить грамматику так, чтобы она могла анализировать те же предложения, что и (и). Мне нужно разобрать (Том ел пиццу, а Билл ел рис).

...