如何用Python编写抽象语法树的访问者模式?
我的同事建议我编写一个访问者模式来导航 AST。谁能告诉我更多如何开始写它? 据我了解,AST 中的每个节点都会有 visit() 方法(?),该方法会以某种…
XPath 根据另一个 XPath 元素查找元素
我有一个 Java AST,我尝试通过 XPath 查找其中的变量。 假设该变量名为“foobar”,我可以使用, //VariableDeclarator/VariableDeclaratorId[@Image…
Eclipse 中的增量编译。 ASTNode-s 和 SVN 版本控制
在分析 Eclipse 中的源代码后,我正在建立一些统计数据。但整个过程太慢了,因为每次编译后我每次都从头开始重建模型。 我正在寻找一种方法来仅获取代…
Python AST 处理
我有一个 Python AST [由 ast.parse() 返回]。 我知道这是类方法的 AST。 如何找到对同一类的其他方法的所有调用? 基本上,我想收集类似的内容: ['f…
结合使用antlr和DLR——AST转换
我有一个通过 ANTLR 生成的 AST,我需要将其转换为与 DLR 兼容的 AST(表达式树)。但是,我似乎无法为此使用树模式匹配器,因为表达式树在实例化时需…
基于 AST 的 Eclipse 搜索
Eclipse 是否有一个插件可以让您根据项目文件的 Java AST(抽象语法树)进行搜索? “Java 搜索”功能似乎并不涵盖以下情况: “获取所有类中声明为“…
ANTLR3 将一个 int 注入到我的树中
可以做我在这里尝试的事情吗?或者,也许我的做法是错误的? arrayDef : { int c = 0; } ('['']' {c++;})+ -> ARRAY /* somehow inject c here */ ; …
(语法树)使用当前自上而下的路径自下而上地递归迭代树
我有一个需要迭代的 抽象语法树 。 AST 由 lemon 到 PHP 的端口生成。 现在“通常”,我会使用全新且闪亮的(PHP 5.3.1)SPL 类来完成它,它看起来像…
我可以从实时 Scala 代码中获取 AST 吗?
我说“实时代码”是因为我的意思不是来自文本源文件或源字符串,而是来自partialFunctions / lambdas。 (我知道Ruby1.8的parseTree和C# linq可以做到…