是否有任何库可以解析C语法?
例如,我想编写自己的代码/脚本,以分析给定C语法的c文件。函数/文件中的“if”语句数量,每个函数中的代码行注释数等等……
如果已经有一些可用于启动解析器而不是从头开始的库,我就可以更轻松地完成工作,但我没有问题编写所有这些自定义代码。
谢谢!
是否有任何库可以解析C语法?
例如,我想编写自己的代码/脚本,以分析给定C语法的c文件。函数/文件中的“if”语句数量,每个函数中的代码行注释数等等……
如果已经有一些可用于启动解析器而不是从头开始的库,我就可以更轻松地完成工作,但我没有问题编写所有这些自定义代码。
谢谢!
个人而言,我会首先寻找现有的工具来完成你想要做的事情。这听起来需要大量的工作,而且有很多好的免费工具可以用于代码度量(你在SourceForge上看过了吗?)。
如果你坚持要继续你的项目,你可以在谷歌上搜索C语言的Lex/Yacc语法。
然而,几年前我从Lex/Yacc转到了Antlr。我特别喜欢它允许你可视化地逐步解析的方式。
这是一个非常棒的工具,而且是免费的。还有一个完整的C语言语法可供使用,所以你可以根据自己的需求进行修改。
希望这能帮到你。祝你好运!
你可能还考虑尝试一款代码覆盖率工具。虽然代码覆盖率旨在显示源代码执行了多少百分比,但其中一些工具也会显示在进行代码覆盖时遇到了多少条件语句或循环。根据我的经验,我可以分享一个例子,即WindRiver Workbench代码覆盖率工具。
clang
作为库可能会起作用。 - Alexey Frunze