微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

证明不是 LALR(1) 的 LR(1) 文法必须只有减少/减少冲突

如何解决证明不是 LALR(1) 的 LR(1) 文法必须只有减少/减少冲突

有人可以向我解释为什么不是 LALR(1) 的 LR(1) 语法必须只有减少/减少冲突

解决方法

因为如果有 shift-reduce 冲突,它也会存在于 LR(1) 解析器中。

每本介绍 LALR 解析的教科书都很好地证明了这一点。 LALR 算法将具有相同状态集的状态合并,因此合并状态中可能的移位动作与每个原始状态中的相同。此外,合并状态中的每个归约动作都至少处于原始状态之一。因此,如果合并状态中的归约动作与转移动作发生冲突,则它也必须与归约动作出现的原始状态中的转移动作发生冲突。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。