【发布时间】:2011-07-25 21:39:25
【问题描述】:
我有 C 函数原型(某些 windows api 头文件),看起来像:
int
foo
(
int
a
,
int
*
b
)
;
(他们似乎没有编码约定)
我试图以编程方式将其转换为表单的单行原型(或接近它的东西):
int foo(int a, int * b);
我已经研究过 ctags (ctags multi-line C function prototypes) 之类的程序以及 uncrustify (http://uncrustify.sourceforge.net/) 中的各种设置,但是我都无法取得任何进展。 (任何见解都会很棒,或者也许我错过的 385 个不可信选项之一可以满足我的需求)。
以编程方式,我正在尝试寻找表示函数原型的唯一标记,以便我可以编写一个脚本来根据自己的喜好格式化代码。
如果不使用词法分析器和解析器,这似乎很快就会变得非常复杂;有什么建议吗?
【问题讨论】:
-
原始格式从何而来?
-
@carl 这些文件是windows api头文件,虽然大多数都没有例子那么夸张,但我正在努力寻找一个尽可能健壮的解决方案
标签: c ctags exuberant-ctags uncrustify