这个语法是什么?无上下文或上下文敏感

时间:2013-04-08 13:54:54

标签: context-free-grammar regular-language automata formal-languages context-sensitive-grammar

我正在学习形式语言和自动机理论,我对本书中没有回答的问题有疑问。问题是:

此语言是上下文免费,常规还是上下文敏感?

  

L = {a n w w R b n | w是(a + b)*,w R 是w的反向,n> = 0}

我认为这种语言是上下文敏感的,因为它需要至少两个堆栈才能接受。

有人可以对此发表评论吗?

感谢。

1 个答案:

答案 0 :(得分:1)

语言a n w w R b n 是无语言语言。我们可以为这种语言编写无上下文语法。

S -->  aSb | R
R -->  aRa | bRb | ^

^为空符号

PDA:语言a n w w R b n

  • 推送前缀字符串a n
  • w
  • 弹出w,同时将每个符号与w R
  • 中的符号相匹配
  • 弹出所有a推入堆叠并与后缀b b
  • 中的n匹配

注意:我们在通过PDA处理语言字符串 n ww R b n 时我们不知道t知道前缀a n 的结尾然后ww R 开始之前结束的地方对于这种语言,我们无法绘制deterministic model of PDA although Non-deterministic PDA is possible。并且重要的是非确定性PDA的类别与确定性PDA的类别不同,这意味着scope deterministic context free languages are not equals to non-deterministic context free.(实际上确定性是非确定性CFL的子集)

相关问题