【发布时间】:2014-01-31 02:31:07
【问题描述】:
我正在拼命寻找可以保证是LR(1)的Java语法。我不在乎哪个版本的 Java;我应该可以将它修改为我想要的版本。
我正在阅读 Java™ 语言规范第二版的最后一章。见鬼,那一章的语法似乎根本不是 LR(1)。我感觉语法是循环的或有些奇怪,因为当我尝试从语法生成解析表时,我不断遇到 reduce-shift 冲突。
谁能就此提出一些建议?
注意:将标题编辑为 L(AL)R,因为我也可以接受 Java 的 LALR 语法。
【问题讨论】:
-
LR(1)?你确定吗?大多数情况下,这会得到巨大的解析器表而不给你买任何东西?还是你只想要 LALR(1)?
-
@JerryJeremiah 我读过那个。首先,那里给出的链接已经过时,并且没有指向任何有用的地方。其次,这个人要求 Java 7;但即使你给我 Java 1.0 版我也没关系。
-
@TedHopp 与上述相同的答案......(不知道为什么我不能在同一评论中@两个人)
标签: java parsing compiler-construction grammar lr