半正则语法的例子,他的语言不规律

时间:2013-02-06 16:51:09

标签: context-free-grammar regular-language automata language-theory

“半常规”语法只允许使用以下形式的规则:

X → y
X → y Y
X → Y y

其中X和Y是任何单个非终端,x和y是任何单个终端。

例如,这是语言a + b +

的半规则语法
S → a S
S → a A
A → A b
A → b

举一个半常规语法的例子,其语言不是常规语言。请务必说明语言是什么以及为什么不常规。

1 个答案:

答案 0 :(得分:1)

怎么样?
S := aT | -
T := Sb

请注意-表示空字符串;如果您愿意,可以用单个终端符号替换它,而不改变规律性。这会生成语言a^n b^n,这是规范的非常规语言。使用常规语言的泵浦引理或Myhill-Nerode定理可以很容易地证明这一点。