无法弄清楚导致yacc中的移位/减少错误的原因

我正在yacc的一个项目上工作,我得到一个转移/减少错误,但我无法弄清楚为什么我得到它.我一直在浏览y.output文件,但我不太清楚如何阅读它.我的y.output文件超过了SO的字符限制所以我把它扔在pastebin:
http://pastebin.com/AQ2UtAip上.有关如何解决此问题的任何想法? 最佳答案 我不完全确定,但我认为问题是在StmtBlock开始时看到T_Identifier时,解析器无法确定它是否看到一个只有一个前瞻标记的VariableDecl或Expr.如果您可以更改语言规范,一个简单的解决方法是在变量声明之前要求使用var之类的关键字.

点赞