使用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…
我如何将 Ripper 的 AST 重新编译回 Ruby 代码?
Ripper 是 Ruby 1.9 附带的解析库。它将 Ruby 代码转换为 AST,如下所示: pp Ripper.sexp("def foo; yield :a; return 1 end") #=> [:program, [[:de…
使用类型绑定创建编译单元
我正在使用 AST API,我正在尝试创建一个编译具有类型绑定的单元。我编写了以下代码: private static CompilationUnit parse(ICompilationUnit unit)…
如何创建给定形状的 antlr 树?
我有一个 antlr 语法,它有这样的规则: rule: ID (COMMA ID)* ; 其中 ID 是用于匹配典型变量名称的词法分析器规则,逗号是匹配逗号的词法分析器规则…
如何使用 Groovy AST 转换添加警告?
我在 SourceUnit 对象上看到可以 addError(SyntaxException),但如何添加警告? 编辑:任何人都知道我如何在 CompilePhase.SEMANTIC_ANALYSIS 中获取 …
使用 Java 通过访问者模式从 AST 构建控制流图
我试图弄清楚如何实现我的 LEParserCfgVisitor 类,以便从已使用 JavaCC 生成的抽象语法树构建控制流图。我知道已经存在一些工具,但我正在尝试这样做…
Groovy AST 转换 - 如何确定 MethodCallExpression 的返回类型?
使用 Groovy AST 转换,我如何找出返回类型MethodCallExpression? 即使我在方法定义中显式定义了方法的返回类型,MethodCallExpression.getType() 也…