允许无限数量的规则的CFG有多强大?


9

我最近想知道如果我们允许无上下文语法具有无限数量的规则会发生什么。显然,如果我们允许任意这样的无限规则集,则某个字母每种语言都可以用CFG其中。但是,如果我们将限制为可以由上下文无关文法创建的规则集呢?LΣG=({S},Σ,R,S)R={SwwL}R

为此,给定一组非终结符和终结符,让我们将规则不视为元素,而是视为字母字符串。现在我的问题是,如果我们将无限规则CFG定义为元组,其中NΣN×(NΣ)R(N,Σ)=NΣ{}G=(N,Σ,R,S)

  • N是非终结点的有限集
  • Σ是一个有限字母
  • R是格式为一组规则,其中,,使得在上存在一些CFGAwANw(NΣ)GR(N,Σ)R=L(G)
  • SN是初始非终结点

我们为这种无限规则CFG 定义了,就像对CFG所做的那样,无限规则CFG生成的语言类别(让我们称之为),上下文无关语言的类别之间是什么关系?和类?L(G)irCFCFRE

显然,我们有,但是等效于这些类之一(或其他一些类)?CFirCFREirCF


Answers:


7

假设我们采用元语法,并使用两个符号的前缀将其分解。换句话说,对于每个构造 ,字符串上的左导数。这将产生一组(有限的)(有限)元语法,每一个产生所有(可能是无限的)产生。GANGAGAAN

现在,构造语法,其规则是语法中所有规则的并(对非重命名以避免冲突),并对每个都使用,其中是开始非末端为。的非末端包括并且每个所有非末端;起始非端子是的起始非端子,而的端子恰好是的端子。我断言(没有证据)GGAASGAGASGAGAGNGAGGGG是相同语言的有限语法,因为推导过程不受规则来源的影响;它只是字母的字符串替换。

如果以上证明大纲有效,则和相同。CFirCF

正如我在评论中提到的那样,有两个层次语法的更有趣的示例,包括Van Wijngaarden语法以及为创建更易于管理的形式主义而进行的各种尝试,而又没有失去所有其他功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.