我正在尝试将 ast 从 pycparser 转换为 python anytree 以进行进一步的处理任务。 但是我目前得到的 anytree 树不包含一些有用的信息,我也无法弄清楚如何做到这一点。 目前我的代码有一个 C 代码的解析函数,如下所示: 在得到这个 ast 之后,我正在尝试像这样构 ...
我正在尝试将 ast 从 pycparser 转换为 python anytree 以进行进一步的处理任务。 但是我目前得到的 anytree 树不包含一些有用的信息,我也无法弄清楚如何做到这一点。 目前我的代码有一个 C 代码的解析函数,如下所示: 在得到这个 ast 之后,我正在尝试像这样构 ...
我正在使用最新版本的诗歌(1.1.10),在尝试更新我的锁定文件时,我在尝试安装 pycparser==2.20 时遇到了错误: 我尝试更改我的诗歌版本以及 pycparser 的版本,但这似乎只会破坏其他软件包。 以前有没有人处理过这个问题,如果有,你能指出我正确的方向吗? 规格:操作系统: ...
我正在使用 pycparser 解析 C 源代码的项目。 因此,当我运行预处理器时,使用https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html我有 #linenum filename flags linemarkers 在我的预处理翻译 ...
我正在尝试在大型 c 文件中找到所有除法运算符。 我看到了 Python 代码的这个例子。 我尝试将它用于我的 c 文件。 因此,我使用 pycparser 将我的 c 文件解析为 ast,如下所示: 然后我尝试通过修改 translate_to_c 来使用该示例,如下所示: 我收到以下错误: 那么 ...
我正在尝试使用 pycparser 解析 c 文件并找到我使用https://github.com/eliben/pycparser/blob/master/examples/explore_ast.py这个链接生成了 ast 的 switch 语句。 然后使用 n = len(ast.ext) ...
让我们从考虑这个片段开始: 上面的输出将是: 但我希望它变成这样: 所以我的问题是,使用 pycparser 从 AST 中删除节点/子树的规范/惯用方法是什么? ...
我需要编写一个 Python 程序来解析 C 源代码文件并在每个函数声明的末尾添加一个隐藏参数。 更准确地说,我需要改变这样的事情: void f(int a, int b, int c) { ... } 变成这样: void f(int a, int b, int c, int hidden ...
我试图通过其功能块拆分 C 程序。 例如, 我尝试使用正则表达式库并尝试按(){拆分。 但是没有用。 不知道从哪里开始。 我希望结果是一个将每个功能块作为一个元素的列表: ['int first(){ ... }', 'customtype second(){....}'] 我尝试了以下但N ...
我需要获取函数块(定义和所有内容,而不仅仅是声明),以获得函数依赖图。 从函数依赖图中,识别连接的组件并模块化我疯狂的巨大C代码库,一次一个文件。 问题:我需要一个C解析器来识别功能块,仅此而已。 我们有自定义类型等,但签名 我提出的解决方案:显然,像任何理智的人一样使用狡猾和 ...
我正在使用pycparser解析C代码。 我的目标是给定C代码和函数名称,列出指定函数中调用的所有函数。 我查看了pycparser的文档,但找不到任何能专门解决此问题的方法。 我想要与cscope相同的功能: ...
如果我有一个包含多个函数的ac文件,并且我想在程序的预处理版本上运行带有z3解算器的cbmc(使用gcc),并且在header部分中还有一些其他文件(c文件)。 cbmc将如何看到这些文件? 因为我试图运行它并且他给出了一些关于某些变量的错误,因为没有声明它们的位置,事实上,它们是在其中一个 ...
我是解析新手,我尝试使用Pycparser解析我的c文件,然后按照说明通过预处理文件gcc -E进行处理,然后使用example文件夹中的using_gcc_E_libc.py传递了文件,但得到了一些输出,但是不确定AST的外观如何? 如果那是正确的AST,我如何找到每个节点及其依赖关系以及该 ...
有没有办法用pycparser获取函数调用堆栈? 例如,如果我有这样的代码: 因此,使用FuncDefVisitor可以检索Func_1 ,使用FuncCallVisitor可以检索Func_2和Func_3 但是我如何才能从Func_1中检索例如Func_2的信息? ...
我正在致力于自动化一个工具,该工具可以打印出C文件中的所有常量。 到目前为止,我已经设法打印出C文件中的所有常量,但是我无法在不打印出整个抽象语法树的情况下找到显示它们所关联的变量名的方法,因为这没有很多必要给我的信息。 有人有什么想法吗? 现在,它将打印出常量及其类型。 这是我的代码: ...
我一直在寻找一种方法,可以从C源文件中提取常量并以一种自动化过程(无手动输入)的方式反转其字节顺序。 到目前为止,我已经设法利用pycparser来完成大部分繁重的工作,并创建了一个脚本,该脚本会将C文件的所有常量输出到控制台。 它打印的格式如下:常量:int,0x243F6A88 我 ...
我需要使用pycparser解析开源项目Postgresql。 解析其源代码时,会出现以下错误: 我正在使用postgresql-9.6.9,在Windows 10(64位)上使用Visual Studio Express 2017进行构建 ...
我已经安装了解析C代码的pycparser。 我想使用pycparser解析一个开源项目,即PostgreSQL(version-11.0)。 我已经使用Visual Studio Express 2017编译器套件构建了它。 但是,在编译期间,它找不到某些头文件,即windows.h ...
我已经安装了解析 C 代码的 pycparser。 使用 pycparser 我想解析一个开源项目,即 PostgreSQL 。 但是,在编译过程中找不到一些头文件,即pg_config_ext.h和pg_config_os.h 。 在查看PostgreSQL的目录结构时,我发现它没有这些头文件 ...
我正在使用pycparser解析一些C代码。 具体来说,可以在字符和字符串中包含日语字符的代码如下: 我试图在Dev-c上进行编译,并正确进行编译。 pycparser有可能吗? ...
我正在使用pycparser解析一些C代码。 具体来说,我需要代码的某些部分,包括在pycparser中的是某些访问者,例如visit_If,以访问代码的“ If”部分。 但是,我在访问if-else语句的'else'部分时遇到问题。 范例1: 范例2: 在pycpar ...