二义性
汉语词语
如果文法G中的某个句子存在不止一棵语法树,则称该句子是二义性的。如果文法含有二义性的句子,则称该文法是二义性的。
二义性文法认为是一种语言语法的不完善说明,而且也应避免它。幸运的是,二义性文法在后面将介绍到的标准分析算法的测试中总是失败的,而且也开发出了标准技术体系来解决在程序设计语言中遇到的典型二义性。
有两个解决二义性的基本方法。其一是:设置一个规则,该规则可在每个二义性情况下指出哪一个分析树(或语法树)是正确的。这样的规则称作消除二义性规则(disambiguating rule)。这样的规则的用处在于:它无需修改文法(可能会很复杂)就可消除二义性;另一种方法是将文法改变成一个强制正确分析树的构造的格式,这样就可以解决二义性了。当然在这两种办法中,都必须确定在二义性情况下哪一个树是正确的。这就再一次涉及到语法制导翻译原则了。我们所需的分析(或语法)树应能够正确地反映将来应用到构造的意义,以便将其翻译成目标代码。
参考资料
最新修订时间:2024-10-17 19:28
目录
概述
参考资料