【发布时间】:2014-08-07 09:23:53
【问题描述】:
我有一个想要转换为 ANTLR 的 yacc 语法。有野牛吗
ANTLR 转换器可用吗?有人可以帮忙吗?
谢谢, 普拉桑特
【问题讨论】:
-
关于您的任务问题的有趣读物是this question and its answers。
-
@DarkDust 请注意,该问题的公认答案已过时,因为 ANTLR v4 可以处理左递归。
标签: antlr
我有一个想要转换为 ANTLR 的 yacc 语法。有野牛吗
ANTLR 转换器可用吗?有人可以帮忙吗?
谢谢, 普拉桑特
【问题讨论】:
标签: antlr
让我们比较一下这些解析器生成器:
LL 和 LALR 是 incompatible:
LALR(k) 解析器无法与 LL(k) 解析器相比:对于任何大于 0 的 j 和 k,存在不是 LL(k) 语法的 LALR(j) 语法,反之亦然。事实上,对于任何 k > 0,给定的 LL(1) 文法是否为 LALR(k) 是不可判定的。
GLR 是 LR 的变体。 LR 解析器是自下而上的解析器,而 LL 解析器是自上而下的解析器。这些是根本不同的解析策略。
结论:你不会很快找到任何可靠的自动转换器。
【讨论】: