18

我有一个巨大的 C 文件(约 100k 行),我需要能够解析它。主要是我需要能够从其定义中获取有关每个结构的各个字段的详细信息(例如结构中每个字段的字段名称和类型)。有没有一种好的(开源,我可以在我的代码中使用)方法来做到这一点?或者我应该为此编写自己的解析器。如果我必须自己写,有人可以建议一个好的起点吗?我以前从未使用过python。

谢谢

4

2 回答 2

22

查看此链接以获取可用于 Python 的解析工具的广泛列表。具体来说,对于解析 c 代码,请尝试pycparser

于 2012-06-21T17:07:19.173 回答
10

做到这一点的正确方法几乎可以肯定是与现有编译器的前端接口,例如 gcc,然后使用中间表示,而不是尝试用任何语言创建自己的解析器。

但是,正如 Dhara 所建议的那样, pycparser可能是一个很好的替代品,而且绝对比任何尝试自己动手的尝试都要好。

于 2012-06-21T17:11:35.880 回答