我是Prolog的新手,我刚开始环顾四周。我现在阅读了关于简单逻辑和学习Prolog的定义条款语法章节!,所以现在我想开始练习但是我被卡住了。 我必须从具有此语法的文件中读取
setName = {elemen1, element2,..., elementN}.
element1: element2 > element3.
现在我已经读过,当你定义一个DCG时,你有一个免费的解析器,所以我想这样做是为了从我的文件中获取数据到Prolog程序。
我的问题是,在我读过的所有例子中,他们总是提供像
这样的基本词典article --> [the]
但我不能这样做,因为我不知道文件中会写什么。
有什么建议吗?
答案 0 :(得分:2)
在SWI-Prolog中,请考虑使用library(dcg/basics)
。它提供了可在DCG中使用的构建块。关注文件内容的清晰声明描述,用DCG说明。然后使用library(pio)
中的phrase_from_file/2
将DCG应用到文件中。