当前位置: 首页 > 面试题库 >

如何从Java源代码生成AST?[关闭]

安承教
2023-03-14
问题内容

据我所知,将Java源代码解析为AST(抽象语法树)的唯一方法是使用Java编译器树API:com.sun.source.tree

我有两个问题:

  1. 哪些JDK支持com.sun.source.tree?
  2. 是否有适用于所有JDK的便携式替代产品?

问题答案:

您可以使用tools.jar并使用它。
javac是开源的,因此您只需获取该代码即可(假设您可以处理许可证)。
Antlr也具有Java语法。



 类似资料:
  • 问题内容: 我正在寻找一种基于类中定义的字段为现有Java源代码文件中的新方法自动生成源代码的方法。 本质上,我希望执行以下步骤: 读取并解析 遍历源代码中定义的所有字段 添加源代码方法 保存(理想情况下,保留现有代码的格式) 哪些工具和技术最适合完成此任务? 编辑 我不想在运行时生成代码;我想扩充现有的Java 源代码 问题答案: 用自动生成的代码修改相同的Java源文件是维护的噩梦。考虑生成一

  • 问题内容: 我正在使用Selenium IDE(一个Firefox插件)进行测试。开始录制内容时,我看不到Java代码。我总是看到HTML。任何想法都是获取Java源代码的最佳方法。请任何人可以对此提供帮助。 非常感谢。 问题答案: 以下是步骤: 例如。junit / testng / isfw 转到。 要以特定格式导出测试用例,请使用 Selenium IDE的有用功能之一是,它提供了设置剪贴板

  • 我需要一个示例代码来学习如何从clang::ASTContext生成C代码。 我用c代码创建了ast,并在AST中做了一些更改,现在我想再次生成代码。

  • 我下载了android应用程序的处理文件(这里是链接http://www.gwoptics.org/processing/mobile/BouncingBall/)我尝试在处理时进行编译,但出现以下两个错误: 找不到android.content.res的库 库必须安装在“sketchbook”文件夹中名为“Libraries”的文件夹中。 我想从这个项目生成整个java,这样我就可以使用它的一些

  • 问题内容: 我正在忙于使用Maven将现有项目从Ant构建转换为Ant构建。该构建的一部分包括使用hibernate hbm2java工具将.hbm.xml文件的集合转换为Java。这是用于执行此操作的Ant脚本的片段: 我在互联网上四处张望,有些人(我认为)似乎在Maven中使用Ant,而另一些人使用Maven插件。我宁愿避免混合使用Ant和Maven。任何人都可以建议一种方法来执行此操作,以便

  • 问题内容: 现在显然,解析器本身并没有什么用(除了静态分析)。我想将转换应用于AST,然后将其编译回源代码。应用转换不是什么大问题,普通的Visitor模式应该可以。 我目前的问题是如何将AST编译回源代码。我基本上看到两种可能性: 使用一些预定义的方案编译代码 保留原始代码的格式,并仅在已更改的节点上应用1.。 现在,我想专注于1.,因为2.似乎很难完成(但是,如果您有关于此的提示,我想听听他们