在大多数情况下,扩展语法已经顺利进行.但是,每隔一段时间,我会得到减少或减少减少
>难以消除
>有时只是没有意义(对我微弱的大脑)
经过很多痛苦的盯着y.output文件和实验语法重构,我通常得到我想去的地方.有时我不得不做出不满意的妥协.
那么,有没有什么工具可以吸吮yacc语法,这可以增强浏览,实验和允许调试更改?
如果我添加了一个生产,我想要看到的不仅仅是“原子生产在任何地方使用”(think identifier)“与规则foo冲突”(是的,有更多的信息,s / r,r / r,比,但我想你得到我的漂移).除了放在我的思维帽上,试图想象一个符号堆栈和状态机之外,还有一些相互作用的提示是很好的.
更新:我想我应该澄清一下.我们使用Berkeley Yacc.我一直在使用最近版本的Bison进行测试.对于输出,我用–report = itemset编译了语法.
我的这个职位的目标是寻找外部工具,增加与yacc一起提供的语法调试功能.今天很痛苦,默认设置.帮助我找到更好的交互式工具,比如可以使用Antlr的工具.
解决方法
然而,值得注意的是,s / r冲突通常是良性的 – 除非你确定这是一个问题,试图“修复”它经常是不值得的.对于r / r冲突而言也是如此.虽然这些有时是良性的,但它相对较少.
编辑:糟糕 – 对不起,应该是-v.你提到y.output,所以你显然已经知道如何做这个部分.关键是你不要直接查看y.output文件,而是在干净出来的那个文件之间做一个差异,而不是一个没有得到关于实际冲突的细节的区别(没有盯着10千万行的“东西”就好了.
原文地址:https://www.jb51.cc/c/116082.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。