写我的Prolog代码

时间:2018-01-22 09:16:42

标签: prolog

我正在编写我的第一个Prolog代码,我遇到了一些困难我想知道是否有人可以帮助我。

我正在编写一个需要遵循以下规则的程序:

对于动词短语。,名词短语出现在及物动词之前。 受试者(主格名词短语)之后是ga 直接对象(主格名词短语后跟o。

它必须能够用代码中的给定单词形成这些句子:
Adamu ga waraimasu(亚当笑) Iive ga nakimasu(前夕哭泣) Adamu ga Iivu O mimasi(亚当看夏娃) Iivu ga Adamu O tetsudaimasu(前夕帮助亚当)

这是我的代码。它大部分完成除外,我不知道代码中的规则是否正确:

Japanese([adamu ],[nounphrase],[adam],[entity]).
Japanese([iivu  ],[nounphrase],[eve],[entity]).
Japanese([waraimasu  ],[verb,intransitive],[laughs],[property]).
Japanese([nakimasu],[verb,intransitive],[cries],[property]).
Japanese([mimasu ],[verb,transitive],[watches],[relation]).
Japanese([tetsudaimasu  ],[verb,transitive],[helps],[relation]).
Japanese(A,[verbphrase],B,[property]):-
   Japanese(A,[verb,intransitive],B,[property]).
Japanese(A,[nounphrase,accusative],B,[entity]):-
   Japanese(C,[nounphrase],B,[entity]),
   append([ga],C,A).
Japanese(A,[verbphrase],B,[property]):-
   Japanese(C,[verb,transitive],D,[relation]),
   Japanese(E,[nounphrase,accusative],F,[entity]),
   append(C,E,A),
   append(D,F,B).
Japanese(A,[sentence],B,[proposition]):-
   Japanese(C,[nounphrase],D,[entity]),
   Japanese(E,[verbphrase],F,[property]),
   append(E,C,A),
   append(F,D,B).

0 个答案:

没有答案