是否有任何野牛yacc到ANTLR转换器可用

Pra*_*nth 5 antlr

我有一个yacc语法,我想转换为ANTLR.有没有野牛到
ANTLR转换器?有人可以帮忙吗?

谢谢,Prasanth

Luc*_*ski 5

让我们比较一下这些解析器生成器:

  • ANTLR v4 是一个ALL(*)解析器生成器,是LL(*)的变体
  • Yacc 是一个LALR解析器生成器。
  • Bison 是一个LALR / GLR解析器生成器。

LLLALR兼容

LALR(k) 解析器与 LL(k) 解析器无法相比:对于任何 j 和 k 都大于 0 的情况,存在 LALR(j) 语法不是 LL(k) 语法,反之亦然。事实上,对于任何 k > 0,给定的 LL(1) 文法是否是 LALR(k) 是不可判定的。

GLR是LR的变体。LR解析器是自下而上的解析器,而LL解析器自上而下的解析器。这些是根本不同的解析策略。

结论:短期内您不会找到任何可靠的自动转换器。