整形ツール

この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m

整形ツールが欲しくて探してみたところ、いくつか発見。

名称 対象 備考
indent C 説明サイト
astyle C, , C#, Java
GreatCode C, C++, Java バイナリが見つからなかったので、でコンパイルしてみました。
GC.lzh(対象ソースコード)

C++のソースが整形できるからastyleかGreatCodeのどっちかを使おうかなと。
shとかcshとかとかとかも整形してくれるツールがあれば良いんだけどな。。。


GreatCodeを試してみたところ相当良さそう。
だけど、デストラクタの宣言が上手く認識してくれない。
(設定が不足しているだけかもしれないけど。)

class Base{
public:
Base();
~Base();
private:
int m;
};

↑このソースをGC.exeに食わせると・・・

class   Base{       ←classとBaseの間が広い
{
public:
Base(void);
~   Base(void);         ← チルダ(~)とBaseの間にスペースが・・・
private:
int m;
};

このままじゃC++のソースに使えないので、いろいろ試してみたところ、
どうも”-code_align_max_blanks-30″が影響しているらしい。
このオプションを無効にすることは出来なかったため、
-code_align_max_blanksをオフにすることが無理な(気がする)ので、
-code_align_max_blanks-1で試してみると

class Base{
{
public:
Base(void);
~ Base(void);         ← チルダ(~)とBaseの間に1文字スペースが・・・
private:
int m;
};

結局チルダ(~)とBaseの間にはスペースが入ってしまう結果に。。。

ちゃんとGC.txtには書いてあるかもしれないけど、英語だし面倒なので、
ソース見て、それっぽいところを弄ってみました。


これでちゃんと行くようになったけど、他に影響がないかどうかは、ちゃんと試験(ry

class Base{
{
public:
Base(void);
~Base(void);
private:
int m;
};

一応、弄ったソースとバイナリを置いておきます。
grammar_decl.c
GC_20060902.lzh

カテゴリー: ソフトウェア タグ: , , , , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です