【发布时间】:2016-03-30 00:10:06
【问题描述】:
我有一个c文件,里面有很多函数。
我想分离出每个函数并将它们全部放在一个列表中(比如说,list_code),并在不同的列表中获取每个函数的名称(比如说,fun_code)。例如
比方说,一个 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 的元素将是一个包含三个元素的列表,包含,
- 无效的主要() { //这里有一些代码 }
- int 计数 (int abc) { ///这里有一些代码 }
- int 加法器(int def) { ///这里有一些代码 }
fun_code 的元素将是一个包含三个元素的列表,包含,
- void main()
- int 计数 (int abc)
- int adder(int def)
我已经编写了一个代码,它跟踪大括号(“{”和“}”)并分离出完整的函数。但如果 cmets 包含大括号,它将失败。 此外,我无法以这种方式获取函数名称。
请让我知道如何实现这一目标。任何库或内置函数都会有很大帮助,因为它会处理所有次要细节,如 cmets、新行和类似场景。
【问题讨论】:
-
这不是 C#,但 Clang 可能会对此有所帮助。