Как сделать так, чтобы Stack Call Happy, Alex и другие инструменты сборки?
Как часть моего компилятора, мне нужно alex
а также happy
работать как часть моего процесса сборки. Как Stack поддерживает этот сценарий?
Бонус: как я могу зарегистрироваться alex
а также happy
как зависимости времени компиляции?
1 ответ
Решение
cabal
понять суффиксы .x
для файлов alex и .y
для счастливых файлов и будет автоматически использовать алекс и счастлив построить соответствующие .hs
файлы.
Шаги предпринять:
- Добавить
.x
а также.y
файлы к вашемуextra-source-files:
раздел - добавлять
alex
а такжеhappy
на вашbuild-tools:
раздел - Если ваш исходный файл
Foo.Bar.x
, удостоверься чтоFoo.Bar
указан вexposed-module:
или вother-modules:
Хорошим примером пакета, использующего alex и happy, является пакет language-python:
https://github.com/bjpop/language-python/blob/master/language-python.cabal
Обновление: это относится и к стеку. На самом деле, стек также создаст alex и рад за вас.