【问题标题】:Parse Java source with Scala使用 Scala 解析 Java 源代码
【发布时间】:2013-03-28 15:20:08
【问题描述】:

我正在开发一个静态分析工具,我需要使用 Java 源代码,我想用 Scala 编写我的代码,以便从它的功能特性中受益。

是否有任何简单的方法来解析 Java 源代码并使用 Scala 生成抽象语法树? 我想使用一些用 Java 编写的现有 Java 解析器,但我想确保我不会错过一些很酷的 Scala 库

【问题讨论】:

  • Scala 的解析器组合器任你选择
  • 有没有已经实现的Java解析器?
  • 我不会说创建一个在语义级别分析 Java 源代码的工具会容易。一方面,它远不止解析。
  • 重点是抽象语法树不是纯粹的语法。如果不为程序创建适当的符号表,它就无法正确构建,这实际上是一种全局分析。通过单独编译,信息来自分析源文件来自.class文件。
  • 如果你想接受大量的非 Java(Java 相似)代码,也许。

标签: java parsing scala


【解决方案1】:

我认为 Scala 可以调用 Java 库。

您应该能够调用任何 Java 实现的 Java 解析器(例如 ANTLR)。这样你就得到了一个成熟的解析器。

【讨论】:

  • 在对这个问题进行一些背景研究时,我发现了一个用 ANTLR 编写的 Java 分析工具。这肯定是比白板更好的起点!此处描述:svn.apache.org/repos/asf/maven/sandbox/trunk/jxr/maven-jxr/…
  • 是的,Scala 可以调用 Java 库,正如我在问题中所报告的那样。我只是想知道是否有任何“更好”的东西。
猜你喜欢
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多