python - 使用 Python 从代码库中挑选符号

标签 python parsing

给定一个代码库(例如大型 C 或 Objective-C 项目),我想分析源代码文件并挑选出感兴趣的符号。它们可能是类声明、变量名称或类型或方法名称。是否有 Python 模块可以帮助我解决这个问题?

我能看到的唯一方法是使用正则表达式来收集这些符号,但我认为这很快就会变得非常丑陋。我也不是编译器或解析器方面的专家,因此最好使用更轻量级的东西。

感谢您的任何建议。

------更新-----

感谢到目前为止的所有建议,绝对是一些有前途的线索。另一种可能的途径:如果我能够编译我试图分析的项目会怎样。调试符号 (dsym) 会使这个过程更容易吗?我不是在寻找任何高级的东西,只是一个类列表,以及它们的 ivar 和方法名称。在这一点上,研究建议的解析工具似乎比我现在可以负担得起的投资更多的工作

最佳答案

Regex 绝对不是检查编程语言代码的好方法。我建议从下面提供的链接中选择一个解析模块。 您可以使用一些工具。它们都提供解析工具。您始终可以在此基础上构建您的东西:

pygccxml 从 C++ 程序文件生成 xml 描述。这可能更接近您正在尝试做的事情:

再看看这个,它生成代表类结构的可导航类树。

关于python - 使用 Python 从代码库中挑选符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3919922/

相关文章:

python - 为 Debian 打包时如何访问原始 tarball?

c - 更好的做法是 strcpy() 或指向另一个数据结构?

python - Python 中的模糊智能数字解析

ruby - 是否有用于解析营业时间的 RubyGem?

python - sudo python 运行旧的 python 版本

python - 如何计算 DataFrame 对象中的类别数?

python - 每个客户的样本量不同

python - 为什么我要创建一个没有解释器的 Conda 环境?

c# - C#/.NET 的解析器生成器

linux - 从文件中解析字符串并设置为变量 - Shell 脚本