私はのように見えるCの関数プロトタイプ(特定のWindows APIのヘッダファイル)があります。コンデンス複数行のCの関数プロトタイプに
私はプログラム的にしようとしていますint
foo
(
int
a
,
int
*
b
)
;
(彼らはコーディング規約を持っていないように見える)
をフォーム(またはそれに近いもの)の1ラインのプロトタイプに変身:
int foo(int a, int * b);
私はctagsの(ctags multi-line C function prototypes)のようなプログラムに見て、様々なsettiにしていますuncrustify(http://uncrustify.sourceforge.net/)でngsしかし、私はいずれかの進歩を行うことができませんでした。 (どんな洞察力も素晴らしいかもしれません。あるいは私が逃した385件のuncrustifyオプションのうちの1つが、私が望むことをするでしょう)。
プログラマチックには、関数プロトタイプを意味する固有のマーカーを探して、コードを好みの形にするスクリプトを書くことができます。
レクサーとパーサーを使用しないと、非常に複雑になる可能性が高いようです。助言がありますか?
元のフォーマットはどこから来ましたか? –
@carlファイルはWindowsのapiヘッダーファイルですが、ほとんどの例は誇張されていませんが、可能な限り頑強な解決策を探しています – pseudosudo