0

我在序言中将我的语法定义为 DCG(定句语法)。现在我想根据我知识库中的事实生成一些短语。例如,如果我有likes(mark, julia).我想生成句子

马克喜欢朱莉娅。

我怎样才能做到这一点?

4

1 回答 1

3

我们必须考虑到这likes/2是一个普通的 Prolog 谓词,而不是DCG。

因此,我们{}//1用来指代 DCG 中的常规 Prolog谓词 。

例如:

句子 -->
        [X,喜欢,Y],
        {喜欢(X,Y)}

示例用法:

?- 短语(句子,Ls)。
Ls = [标记,喜欢,朱莉娅]。
于 2018-08-29T15:04:45.900 回答