• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

标签:abstract-syntax-tree

abstract-syntax-tree

在赋值语句中获取返回的类型

在赋值语句中获取返回的类型
我如何使用JDT获取赋值语句的类型。 我正在遍历使用ASTVisitor的类文件,以找到以日期(日历)为类型的赋值实例。尽管我可以使用getType方法为VaraibleDeclarationStatement找到此类实例,但是Assignment节点没有这种方法。 解决方案如下: 该分配被分解为LHS和RHS,因此请检查RHS表达式的类型。 ……继续阅读 »

abstract-syntax-tree

如何使用JavaParser遍历某些Java源代码的AST(抽象语法树)的所有节点?

如何使用JavaParser遍历某些Java源代码的AST(抽象语法树)的所有节点?
我正在尝试将Java源代码转换为其他面向对象的编程语言。为此,我想遍历整个AST(由JavaParser生成),并收集Java源代码的每个组件,然后将它们相应地转换为我的目标语言。尽管我确实找到了有关查找特定节点(例如“类或接口声明”等)的信息,但在在线搜索中没有找到与遍历完整AST相关的任何信息。我​​们将不胜感激。 解决方案如下: 阅读完文档后,……继续阅读 »

abstract-syntax-tree

ASTParser和方法之间的依赖关系

ASTParser和方法之间的依赖关系
我正在使用ASTParser解析项目中的Java源代码。我设法获得了Java项目不同类中所有方法的名称和返回类型。我现在想知道在main中的方法之间是否有依赖关系。实际上,我还没有阅读该类的所有文档,这有点复杂。您知道是否有可能对主程序中方法的互连性有个了解吗?如果不可能,是否可以使用其他API? 谢谢。 解决方案如下: 由于很难确定将调用哪些特定方……继续阅读 »

abstract-syntax-tree

如何使用Java API将配置单元字符串查询转换为抽象语法树?

如何使用Java API将配置单元字符串查询转换为抽象语法树?
我知道我可以使用explain extended command获得AST。我的问题是,如何使用Java API获得相同的信息。我的目标是获取有关查询的以下数据: 数据库源和目标(如果已应用)。 表源和目标(如果已应用)。 查询中涉及的字段。 我知道我可以使用Regex直接从查询字符串中获取上述数据,但是我想使用Java API。 您还有其他想法吗? ……继续阅读 »

abstract-syntax-tree

ANTLR打印树

ANTLR打印树
我正在寻找可用于以可读格式打印树的ANTLR语法。当我尝试打印Java.g(http://openjdk.java.net/projects/compiler-grammar/antlrworks/Java.g)时,结果不方便。但是我发现一个语法(包括Java项目),可以很好地打印AST。此语法是来自Marton Papp(http://www.antlr.……继续阅读 »

abstract-syntax-tree

从Java源代码生成AST报告,而无需实际运行它

从Java源代码生成AST报告,而无需实际运行它
因此,我花费了一整天的时间来弄清楚如何使用ANTLR。我有一堆Java源代码文件。我的目标是使用ANTLR为每个文件创建一个AST。最后,AST将转换为JSON,因此使用诸如python这样的动态语言来解析每个AST会更加容易。转换将使用此topic中的解决方案(尽管如果有人有更好的解决方案,我会很高兴听到)。我设法在getting-started页面中运行……继续阅读 »