在此之前,是的,这是来自课程作业,我在处理另一个项目时偶尔会遇到它。
语言由那些字符串(终端'a'和'b')组成,其中a的数量= b的数量。试图找到定义上述语言的语法生成规则。
更正式地说,L(G)= {w | Na(w)= Nb(w)}
所以我想它应该是这样的,L = {ε,ab,aabb,abab,abba,bbaa,......等等}
任何提示,甚至解决方案的相关问题都可以帮助我更好地掌握当前的问题。
答案 0 :(得分:1)
另一个提示:写下你所有的生产规则,确保每一步都保证Na(w)= Nb(w)。
答案 1 :(得分:1)
我认为就是这样:
S -> empty (1)
S -> aSb (2)
S -> bSa (3)
S -> SS (4)
编辑:我改变了规则。现在,这是如何生成bbaaabab
S ->(4) SS ->(4) SSS ->(3) bSaSS ->(3) bbSaaSS -> (1)bbaaSS
->(2) bbaaaSbS ->(2) bbaaaSbaSb ->(1)bbaaabaSb ->(1) bbaaabab