我想列出在我的C程序中声明的所有变量以供分析。有一种简单的方法可以做到这一点吗?我认为为此目的建立一个词法分析器会很麻烦。还有另一种方式吗?
嗯,我想我必须更清楚:-)。我打算使用我打算编写的C库分析很多C文件,这需要具有此功能。因此,如果我可以使用C(因为它可以与我的库集成),那就太棒了。但是,我也可以使用任何其他语言进行预处理。但它会增加依赖性。
答案 0 :(得分:2)
如果你想处理typedef等等,你可能还是要写一个非常强大的解析器。您可能希望使用clang/llvm - 您可以修改它以便轻松输出您想要的数据。
答案 1 :(得分:1)
正确完成工作需要大量的C预处理器和词法分析器,这是一个很多C编译器。
临时工作更容易 - 但你可以选择你将如何临时工作。
答案 2 :(得分:1)
cscope(http://cscope.sourceforge.net/)可以识别程序中的所有符号并为其编制索引,并具有命令行模式,可以从命令行或GUI工具查询符号数据库。