2013-06-18 4 views
8

私はCコードパーサーPerlで作業しています。PerlでのCコード前処理

現時点では、コードを前処理する必要があります。 前処理の実装は多くの作業のようです。そのため、ファイルを前処理するためのスクリプトやライブラリを探しています。

私は、次の可能性が見つかりました:

  1. Text::CPP
  2. Filter::CPP

は、これらのいずれもが、私は私のWindowsマシン上ではありませんcppが必要です。他のオプションはありますか?

+0

http://search.cpan.org/perldoc?Filter%3A%3Acppによれば、「このソースフィルタは、現在のソースファイルをCプリプロセッサ(cpp)が利用可能であればパイプします。」 – devnull

+0

'Text :: CPPは 'A C compiler 'を必要としていると言います。 – devnull

+0

@devnullそれは問題です... – Alex

答えて

5

私はあなたのニーズを理解しているかどうかはわかりませんが、自分で実装することはおそらく貧しい選択です。私は最近、代替Cプリプロセッサも探していました。

Text::CPPモジュールはコンパイルするだけでコンパイルする必要があります。プリコンパイルされたバージョンを見つけることができれば、それはあなたのために働くはずです。

同じ著者によるJCPP Java C Preprocessorは、おそらく動作させることができます。おそらく、外部から処理して結果をロードする必要があります。

Fileppは、CPP互換性を主張する古いPerlプログラムです。ダウンロードするプリコンパイル済みのWindowsバイナリがあります。

ご協力いただける新品のLua C-Preprocessor LCPPがあります。おそらくスタンドアローンとして最適ですが、Inline::Luaを使用できる可能性があります。

SWIGには、独自のプリプロセッサ実装が付属しています。私はこれがWindows用に利用可能であると推測します。

他に何がありますか? Boost Wave Preprocessorはうまく動作し、Windowsで利用可能です。 MSVCコンパイラはpreprocess to a fileです。

しかし、最も簡単で最善の長期的解決策は、CPPをインストールすることだけかもしれません。それはCygwinまたはMinGWから得ることができるGCCの一部として来ます。