树邻接语法(Tree Adjoining Grammars)详解
1. 树语言与字符串语言的定义
设 $G = \langle N, T, I, A, S\rangle$ 是一个树邻接语法(TAG)。
- 树语言:$G$ 的树语言 $L_T(G)$ 定义为 ${γ | γ$ 是 $G$ 中根标签为 $S$ 的饱和派生初始树 $}$。
- 字符串语言:$G$ 的字符串语言是 $L_T(G)$ 中树的产出集合。
2. 形式属性
2.1 语言包含关系
由树邻接语法生成的语言类(TAL)真包含所有上下文无关语言(CFL)。因为每个上下文无关文法(CFG)都可以看作是一个树替换文法,而树替换文法又是辅助树集合为空的树邻接语法,所以 CFL 显然包含于 TAL。例如,第 2 章中提到的复制语言的 TAG 以及 $L_3 := {a^nb^nc^n | n \geq 0}$ 的 TAG 都说明了 TAL 可以处理非上下文无关语言。
需要注意的是,没有邻接约束的 TAG 虽然也扩展了 CFG,但比这里定义的有邻接约束的 TAG 能力弱。例如,没有邻接约束就无法生成 $L_3 = {a^nb^nc^n | n \geq 0}$。
2.2 封闭性属性
树邻接语法生成的语言具有良好的封闭性,具体如下:
- 并运算封闭 :假设两个非终结符集合不相交,将两个文法的初始树和辅助树组合在一起,就可以构建一个大的 TAG,从而证明 TAL 在并运算下封闭。
- 连接运算封闭 :同样假设非终结符集合不相交,构
超级会员免费看
订阅专栏 解锁全文
2360

被折叠的 条评论
为什么被折叠?



