语言A = {0 ^ n 1 ^ n 0 ^ n}上下文是否空闲?

时间:2010-04-11 19:35:47

标签: computer-science context-free-grammar

我只是想了不同的语言(因为我正在审查即将开始的期末考试)而且我想不出一个有效的下推自动机来处理语言A = {0 ^ n 1 ^ n 0 ^ n | n> = 0}。这不是一种无上下文的语言,我是否正确?

2 个答案:

答案 0 :(得分:5)

我相信你是。它看起来非常类似于语言 L = {a ^ i b ^ i c ^ i |我> 0 {/ em>维基百科上the pumping lemma的文章作为如何证明某种语言不具备上下文的例子。

答案 1 :(得分:1)

只考虑{0 ^ n 1 ^ n}部分。将0替换为(,将1替换为),您将获得简单嵌套括号的语言,这是一种语言不规则的死亡赠品。

添加最后的0 ^ n使其对上下文敏感(即不是无上下文)。请记住,CFG可由具有单个堆栈的有限状态计算机决定,作为其唯一的数据结构。看到0将导致字符被压入堆栈,并且看到1将从堆栈中弹出。这保证了0和0一样多,但是没有办法匹配 more 0。