语言0 ^ n1 ^ n可以表示为常规语法吗?

时间:2015-02-25 13:58:18

标签: formal-languages

首先:我不学习计算机科学,只对正式语言感兴趣。

我理解这种语言不规则,因为有限状态机不能计算b之前的数字(它需要一个堆栈)和/或因为你不能将它表达为正则表达式,但不是以下a常规grammmar定义上述语言?

S -> 0S | 1S | epsilon

或者这是不是因为epsilon?

1 个答案:

答案 0 :(得分:2)

不,定义语言的无上下文语法是

  

S - > 0S1 |小量

您实际上可以构建树,例如使用字符串000111

  

S - > 0S1 - > 00S11 - > 000S111 - > 000epsilon111 - > 000111

注意语法和正则表达式的定义。你提供的语法不起作用,因为它不能保证你有相同数量的0和1。例如,使用字符串00011测试它,这不是语言的一部分,但它已被语法识别。