1
我想学习如何在prolog中编写生产规则。 这就是我所拥有的。Prolog语法产生
paragraph --> sentence, paragraph ; [].
sentence --> proper_noun, [ ], verb, [ ], preposition, [ ], article, [ ], noun, period.
proper_noun --> [Jimmy] ; [Yancy] ; [Clementine] ; [Astrid].
verb --> [runs] ; [walks] ; [skips] ; [flies].
preposition --> [to] ; [at] ; [around] ; [through].
article --> [the] ; [a].
noun --> [school] ; [house] ; [car] ; [spaceship].
period -->[.].
我尝试使用
phrase(sentence, [Jimmy," ",walks," ",to," ",the," ",school], []), atom_codes(Output,[Jimmy," ",walks," ",to," ",the," ",school]).
它返回假为输出调用它。请帮助我了解我出错的地方以及如何编写更好的语法。
嘿。如果你不介意我问括号如何帮助?在句子生产中,我也想包含空格。我会怎么做?我可以使用'|'代替 ';' – InquisitiveCoder
@ BryanD'silva:是的,括号允许使用不错的快捷方式,内联替代方案。考虑正确的递归段落// 0的优雅程度。有关空间处理,请参阅库(dcg/basics)。你可以使用|代替 ; – CapelliC
@CapelliC感谢您加入。:) –