什么是 AST、CFG、CLANG,我们如何在死代码去除算法中使用它们?
我即将与我们的团队一起使用 C 语言为在线活动编写一个死代码删除算法。 要求是...... 读取一个C程序源文件,其中有多种形式的死代码。 我们的输出应…
在 Eclipse JDT 中使用 ASTVisitor 解析重载方法
我目前正在开展一个学术项目,该项目使用 ASTVisitor 来创建基本的调用树。 为此,需要将方法的调用与其声明相关联。 编辑:问题在很大程度上得到解决…
在eclipse中如何使用AST访问C程序中使用的标识符
如何使用 AST 访问 C 程序中使用的标识符。 我是 eclipse 插件开发的新手,并尝试自定义 eclipse 插件,以确保变量名、函数名、结构或程序员声明的任…
从 Ruby 块中提取 AST
是否有可能从 Ruby 本身获取一个块的 AST? 我已经研究过 ParseTree 和 ruby_parser,但它们似乎都对 Ruby 1.9.2 提供了粗略的支持(根据我读到的…
ANTLR:异构 AST 和虚构代币
这是我的第一个问题:) 我想使用 ANTLR 构建一个异构 AST 来实现简单的语法。有不同的接口来表示 AST 节点,例如 IInfiExp、IVariableDecl。 ANTLR 提…
哪个变量存储 gcc 中 C GENERIC AST 的根节点?
我正在尝试为 gcc 4.5 编写一个插件,它将对 AST 执行一些分析( GENERIC 表示)在解析完成后。我的源语言是 C,插件也将用 C 编写。有一些帖子 这里…
如何替换节点文本(ANLR、AST)
使用 ANTLR (AST、C#) 转换源 我正在尝试将源文本替换为“/// Text here (trace)”到“WriteLog(modulename, functionname, trace, 'Text here');” …
Python AST:几个语义不清楚,例如 expr_context
除了 ast 文档之外,还有关于 ast 模块? 特别是,我想知道 expr_context (及其所有可能的值)到底意味着什么。 另外,Assign 和 AugAssign 之间有什…
Python 中快速动态代码执行的可能性
我有一些以某种形式的 AST 提供的代码,我想执行它。 我可以想到几种方法来做到这一点,例如: 直接解释它。 将其转换为 Python AST(ast 模块)并 Py…
D 中的 gppg/gplex 等效吗?
当我在 C# 中工作时,我发现了 gppg 和 gplex 解析器/词法分析器生成器非常适合我的需求。我想知道 D 编程语言是否有类似的东西(即,给定 BNF 或 EBN…
使用 AST 添加另一个超级接口
我正在使用 AST 来修改源代码文件。现在我坚持解决一个特定的问题。我有一个接口,我们称之为 A: public interface A extends A_Super{ (...) } 现在…