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

时间:2014-08-07 09:23:53

标签: antlr

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

谢谢, Prasanth

1 个答案:

答案 0 :(得分:3)

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

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

LL LALR incompatible

  

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

GLR LR 的变体。 LR 解析器是一个底层解析器,而 LL 解析器是一个自上而下的解析器。这些是完全不同的解析策略。

结论:您很快就找不到可靠的自动转换器。