0

{a m b n c i | m > n + i}

我已经尝试了两个小时来解决这个问题。这就是我到目前为止所拥有的。

//To start with as many a's as you want:  
S => a | aA | aS   
//To ensure an a gets added each time a b or c does so there is always at least 1 more a than b's plus c's.  
A => aBb | aaBbCc | aCc   
B => aBb | lambda  
C => ???

我知道这远非正确,这就是我寻求帮助/提示的原因。

谢谢。

4

2 回答 2

1
于 2013-10-24T16:36:57.880 回答
0

从内到外构建它:

  • B → ABB | ε - 匹配 a i b i
  • C → 加减 | B -- 匹配 a i+j b i c j
  • S → 交流电 | aS -- 在前面至少再添加一个 a

这不是最小的——你可以用 5 个规则和 2 个非终端来做到这一点。

于 2013-10-24T16:58:27.293 回答