问题标签 [pycparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
45 浏览

python - 我需要找到函数参数是否具有返回类型或不使用 Pycparser。我将如何做到这一点?

我的代码是:-

我无法理解如何查找函数参数是否有返回类型,如果它有返回类型,我必须生成一条错误消息。我如何使用 PYCPARSER 来做到这一点?

0 投票
1 回答
69 浏览

c - pycparser 中的预处理器线标记

我正在使用 pycparser 解析 C 源代码的项目。

因此,当我运行预处理器时,使用https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html我在我的预处理翻译单元中有 #linenum filename flags linemarkers。

但是,当我解析gcc -E使用 pycparser 的输出时,标记嵌入了坐标(文件、行、列),但它们似乎不包含来自 linemarkers 标志的任何对我非常有用的信息。

在我的 AST 中包含线标记或将信息嵌入 AST 令牌中的任何解决方案或建议?


更新 我需要的是通过我的令牌并了解它们所属的文件(这已经在 pycparser 中)以及如何包含该文件。

此信息位于预处理器引入的留置权标记的标志字段中。确实,如果我有:

file2.h 的包含可能在 file1.h 或 main.c 中。我需要使用 pycparser 提取此信息。我知道我可以使用 gcc -H 并进行大量分析和处理等来摆脱它。但是,线标记的标志元素会报告我是打开文件还是从文件返回,因此它包含有关嵌套包含的信息。这个信息在pycparser的某个地方吗?可以以某种方式简单地添加吗?

0 投票
1 回答
323 浏览

python-3.6 - 如何使用诗歌解决这个 pycparser 安装错误?

我正在使用最新版本的诗歌(1.1.10),在尝试更新我的锁定文件时,我在尝试安装 pycparser==2.20 时遇到了错误:

我尝试更改我的诗歌版本以及 pycparser 的版本,但这似乎只会破坏其他软件包。以前有没有人处理过这个问题,如果有,你能指出我正确的方向吗?

规格:操作系统:Windows 10 Python 版本:3.6 诗歌==1.1.10 pycparser==2.20