我是Prolog的新手并注意到'和'给出了不同的行为,但我很好奇为什么.具体来说,加载文件时,?- ['test1.pl'].
工作,而?- ["test1.pl"].
不是.
Prolog的DCG给我留下了深刻的印象,我能够多快地生成适合特定语法的所有可能结构.
但我想将此搜索与其他约束结合起来.例如,定义一个复杂的语法,并要求Prolog生成不超过10个单词的所有句子.或者所有不重复相同单词两次的句子.
是否可以向DCG语法添加这样的额外约束?或者我基本上必须将DCG转换回正常的Prolog条款并开始修改它们?