相关疑难解决方法(0)

Scala解析器组合器与ANTLR/Java生成的解析器?

我正在为一个主要用Scala编写的应用程序编写表达式解析器.我在Scala中构建了AST对象,现在需要编写解析器.我听说过Scala的内置解析器组合器,以及ANTLR3,我想知道:哪个可以提供更好的性能和编写代码的简易性?至今:

ANTLR专业人士

  1. 知名
  2. 快速
  3. 外部DSL
  4. ANTLRWorks(用于解析器语法调试/测试的出色IDE)

ANTLR缺点

  1. 基于Java(Scala互操作可能具有挑战性,任何经验?)
  2. 在运行时需要很大的依赖关系

Parser combinator专业人士

  1. Scala的一部分
  2. 少一个构建步骤
  3. 不需要运行时依赖; 例如,已经包含在Scala的运行时库中

解析器组合器缺点

  1. 内部DSL(可能意味着执行速度较慢?)
  2. 没有ANTLRWorks(提供很好的解析器测试和可视化功能)

有什么想法吗?

编辑:此表达式解析器解析代数/微积分表达式.它将在最终确定的Android应用程序Magnificalc中使用.

java parsing scala parser-combinators antlr3

25
推荐指数
2
解决办法
5115
查看次数

标签 统计

antlr3 ×1

java ×1

parser-combinators ×1

parsing ×1

scala ×1