语法的制作规则

时间:2011-09-07 10:42:28

标签: formal-languages

在此之前,是的,这是来自课程作业,我在处理另一个项目时偶尔会遇到它。

语言由那些字符串(终端'a'和'b')组成,其中a的数量= b的数量。试图找到定义上述语言的语法生成规则。

更正式地说,L(G)= {w | Na(w)= Nb(w)}

所以我想它应该是这样的,L = {ε,ab,aabb,abab,abba,bbaa,......等等}

任何提示,甚至解决方案的相关问题都可以帮助我更好地掌握当前的问题。

2 个答案:

答案 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