我正在尝试在字母表上写一个CFG ? = {a,b}
,所有单词的开头和结尾都是相同的数字,中间a
至少有一个b
.
现在我理解了CFG的基本概念,变量,生产规则等.不幸的是,我已经没有用于编写上述CFG的想法了.我到目前为止所有的一切都是
S ? aYXYa X ? XbX | b | ? Y ? ???
我想的是,生产规程S
和X
会给我一个字符串以两个**a
**S于两侧尽可能多的**b
**S IN的中间,我想.但是,我不确定如何在**a
**的两侧放置尽可能多的****,b
同时确保a
每侧****的数量完全相同.
任何建议,解决方案将不胜感激.谢谢.
作为以前教过这门课程的前教授,我不打算给你答案.但是,我会给你一个提示:
你有正确的想法把它分成两个部分,a和其他部分.但是,你没有正确地做其中任何一个.
首先尝试写:一ñ BA ñ 然后从那里分支.
希望有所帮助.