1
1
这里比较棘手的是,有两个相互关联但并不完全相同的平行层次结构。有LR(k) 语法 ,它们是具有某些属性的语法类。我们知道
也就是说,随着k的增加,越来越多的语法类被包含在LR(k)类中。 独立地,有LR(k) 语言 ,这些语言存在LR(k)语法,可以选择k。Don Knuth有一个很酷的定理表明,一种语言对于某些k有LR(k)语法,当且仅当它有LR(1)语法。因此,从这个意义上讲,LR(k)语言是“可以生成LR(1)语法的语言” 然后是确定性上下文无关语言(DCFL),您可以为这些语言构建确定性PDA。众所周知,DCFLs与LR(k)语言完全相同,也就是说,一种语言是确定性CFL,当且仅当它有LR(1)语法时。 那么这对语言的层次结构意味着什么呢?它看起来是这样的,从最不强大/最具限制性到最强大/最不具限制性:
|