EOL 语法的简化与结构等价性探究
1. 引言
在语言生成领域,上下文无关语法和 EOL 语法是两种常用的迭代重写方式。它们都将符号集分为终结符和非终结符,仅由终结符组成的单词属于语法生成的语言。二者的主要区别在于重写方式:EOL 语法采用并行(同步)重写,而上下文无关语法采用顺序(异步)重写。
若两个语法生成相同的语言,则称它们是(语言)等价的。然而,上下文无关语法和 EOL 语法的(语言)等价性问题是不可判定的,即使是非常受限的情况也是如此。对于每个推导,我们可以关联一个语法树。EOL 语法的语法树是深度均匀的标记树,而上下文无关语法的语法树可以有任意形状。这引出了语法之间结构等价性的概念:两个结构等价的语法不仅生成相同的终结符单词(或语言),还以相同的方式构建这些单词。
1967 年,McNaughton 证明了上下文无关语法的结构等价性是可判定的。令人惊讶的是,EOL 语法的结构等价性问题并未引起太多关注。不过,本文的一个初步版本促使 Salomaa 和 Yu 用完全不同的方法证明了 EOL 语法的结构等价性是可判定的,但他们的结果并未解决如何刻画两个 EOL 语法何时结构等价的问题。
2. 定义与示例
2.1 EOL 语法的定义
EOL 语法 $G$ 是一个四元组 $(N, \Sigma, P, S)$,其中:
- $N$ 是非终结符的字母表;
- $\Sigma$ 是终结符的字母表;
- $P \subseteq N \times (N^+ \cup \Sigma^+)$ 是有限的产生式集合;
- $S \in N$ 是句子符号。
这个定义与