我有一个c文件,里面有很多功能。
我想分离出每个函数并将它们全部放在List中(比如说,list_code),并且还可以在不同的List中获取每个函数的名称(比方说,fun_code)。 E.g
可以说,c文件包含以下代码:
void main()
{
//some code here
}
int count (int abc)
{
///some code here
}
int adder(int def)
{
///some code here
}
我想要以下两个列表 list_code 和 fun_code !! list_code 的元素将是一个包含三个元素的列表,其中包含
fun_code 的元素将是一个包含三个元素的列表,其中包含
我已经编写了一个代码,用于记录大括号(" {"和"}")并分离出完整的功能。但如果评论包含大括号,它就会失败。 此外,我无法通过这种方式获得功能名称。
请告诉我如何实现这一目标。任何库或内置函数都会有很大帮助,因为它会处理所有细微的细节,如注释,换行和类似场景。
答案 0 :(得分:9)
libclang
可能是解析C ++最容易使用且最成熟的选项。
有几个可用的C#包装器 - 以下是一些快速Google搜索的结果: