Подключение инструмента сборки в Кабале (Хаскелл)
Я пытался использовать bnfc
инструмент для генерации множества файлов, таких как лексер, парсер и т. д. для меня. Это отлично работает. Теперь я хотел бы немного разобраться с этим, так как не нужно вручную компилировать bnfc
файл и иметь его генерировать ряд файлов, которые загромождают мой /src
папка.
Я попробовал механизм Кабала, где вы перечислите инструмент в build-tools
поле .cabal
файл и укажите файлы, которые вы ожидаете extra-source-files
поле. Это сработало для меня и Алекса и Хэппи, поскольку они признаны Cabal как инструменты для сборки, но bnfc
нет. Есть ли способ, которым я могу подключить bnfc
или какой-либо инструмент с Cabal, и Cabal распознает их как инструменты сборки?
1 ответ
Видимо, Кабал не знает о bnfc (не появляется в списке).
Похоже, что нет способа сделать это, используя только файл.cabal, но есть пример того, как подключить препроцессор в вашем Setup.hs
в тестируемых источниках Cabal / PackageTests / CustomPreProcess / Setup.hs с использованием пользовательского хука hookedPreProcessors
(все хуки находятся в UserHooks.hs)