使用 javax.lang.model 或 ANTLR JavaParser 获取 Java 源代码信息的示例/教程
我想为简单的 Java 逻辑创建一个自动的类似流程图的可视化,为此我需要解析 Java 源代码,我有 2 个候选者, ANTLR 和 javax.lang.model 。两者都不容…
在 Java 中从 cup 创建 AST 时需要帮助
我需要在我的代码中创建 AST。我创建了 Node 类和 AST 类,就像辅助类一样。 public class Node { private String value; private String type; priva…
我可以获得 C/C++ 的 XML AST 转储吗?不使用编译器而用 clang 编写代码?
我成功地使用 cmake 和 Visual Studio 10 为 Windows 编译了 clang。我想获得一个 XML 文件作为源代码的 AST 表示。有一个选项可以在 linux (ubuntu) …
CoCo 到 ANTLR 转换器中的表达式
我正在一个实用程序中解析 CoCo/R 语法以自动化 CoCo -> ANTLR 翻译。核心 ANTLR 语法是: rule '=' expression '.' ; expression : term ('|' term)*…
ASTParser 方法调用顺序
我正在使用 ASTParser 解析项目中的 java 源代码。我设法获得了我的java项目的不同类中所有方法的名称和返回类型。我现在想知道当我运行java项目时是…
当我的 AST 只是一个数组数组时,我应该使用访问者吗?
我见过用于遍历 AST 的访客模式。要使用此模式,您需要在 AST 节点对象上添加一个 accept(visitor) 方法。此方法调用visitor.visit(self),后者依次“…
Groovy 中的 AST 转换:创建宏以提供基本构造函数
我想制作一个宏,本质上将其扩展 @WithBasicConstructor class Person { private String name private String address } 为: class Person { private…
通过静态分析检测缺少 if/else 语句
我试图捕获 if 语句中缺少的未处理的 expressiong 条件。 第一个示例 if (a < 5) { // Do something } else { // handled else condition } 第二个示…
使用ast获取模块名称
如何使用 ast 获取 python 模块名称?我尝试了以下方法来获取模块节点,但看起来它没有名称信息: class v(ast.NodeVisitor): def visit_Module(self,…
如何在python源代码中检测I/O(I/O的标准库方式)
我正在为我最后一年的项目的一小部分 Python 代码构建一个优化编译器。我要做的第一件事是测试变量是否参与或导致 I/O。如果我要静态地跟踪众所周知的…
使用 Python ast 模块访问语法树中的节点
我正在玩 python ast(抽象语法树)。 我编写了以下内容,它访问了 AST 的所有节点。 import ast class Py2Neko(ast.NodeVisitor): def generic_visit…