转载自:https://mp.weixin.qq.com/s/PqjUQHSDy90KqX-tCugSuA
3 练习
练习7.1。假设我们正在使用以下DCG:
s --> foo,bar,wiggle.
foo --> [choo].
foo --> foo,foo.
bar --> mar,zar.
mar --> me,my.
me --> [i].
my --> [am].
zar --> blar,car.
blar --> [a].
car --> [train].
wiggle --> [toot].
wiggle --> wiggle,wiggle.
写下与这些DCG规则相对应的普通Prolog规则。 Prolog对查询s(X,[])的前三个响应是什么?
练习7.2 形式语言anbn − {ǫ}由anbn中的所有字符串组成,除了空字符串。编写生成这种语言的DCG。
练习7.3 假设anb2n是形式语言,它包含以下所有形式的字符串:长度为n的连续块,其后是长度为2n的bs的连续块,除此之外没有其他内容,例如abb,aabbbb和aaabbbbbb属于anb2n ,空字符串也是如此。编写生成这种语言的DCG。
4 实践环节
<