2016-04-27 9 views
5

bnfcツールを使用して、lexer、parserなどのファイルを生成していました。これは正常に動作します。今度は、bnfcファイルを手動でコンパイルせずに、/srcというフォルダを乱雑にするファイルを多数生成する必要がなくなり、これを少しきれいにしたいと思っていました。Cabal(Haskell)でビルドツールをフックする

私は.cabalファイルのbuild-toolsフィールドにツールをリストし、extra-source-filesフィールドによって生成されると思われるファイルについて言及しています。 Cabalのビルドツールとして認識されているので、これはAlexとHappyのために私のために働いたが、bnfcはそうではない。 bnfcまたは一般的なツールをCabalと接続し、Cabalにビルドツールとして認識させる方法はありますか?

答えて

3

キャバルはbnfcについて知らないようです(the listには表示されません)。

をちょうど.cabalファイルを使用してそれを行うための方法はありませんように見えますが、ユーザーのフック hookedPreProcessorsを使用して cabal sources under tests/PackageTests/CustomPreProcess/Setup.hsであなたの Setup.hsにプリプロセッサをフックアップする方法の例は、(すべてのフックが UserHooks.hsにあります)があります