如何让Stack调用Happy,Alex和其他构建工具?

Car*_*lin 16 haskell happy haskell-stack

作为我的编译器的一部分,我需要alexhappy作为构建过程的一部分运行.Stack如何支持这种情况?

额外:我如何注册alexhappy编译时依赖?

Eri*_*ikR 14

cabal了解.xalex文件和.y快乐文件的后缀,并将自动使用alex和happy来构建相应的.hs文件.

采取的步骤:

  1. .x.y文件添加到您的extra-source-files:部分
  2. 添加alexhappy你的build-tools:
  3. 如果您的源文件是Foo.Bar.x,请确保Foo.Bar列在exposed-module:或中other-modules:

使用alex和happy的包的一个很好的例子是language-python包:

https://github.com/bjpop/language-python/blob/master/language-python.cabal

更新:这也与堆栈相关.事实上,堆栈也将构建亚历克斯并为您感到高兴.