2016-04-27 3 views
5

Я пытался использовать инструмент bnfc, чтобы сгенерировать кучу файлов, таких как lexer, parser и т. Д. Для меня. Это прекрасно работает. Теперь я хотел немного почистить это, не имея необходимости вручную компилировать файл bnfc и генерировать несколько файлов, которые загромождают мою папку /src.Подключить инструмент построения в Cabal (Haskell)

Я попробовал механизм Cabal где вы перечислить средства в build-tools поле файла .cabal и указать файлы, которые вы ожидаете генерироваться extra-source-files поля. Это сработало для меня для Alex и Happy, поскольку они были признаны строительными инструментами Cabal, но bnfc - нет. Есть ли способ, которым я могу подключить bnfc или любой инструмент в целом с помощью Cabal, и чтобы Cabal распознал их как инструменты для сборки?

ответ

3

Видимо, каббал не знает о bnfc (не отображается на the list).

Похоже, что нет никакого способа сделать это, используя только .cabal файл, но есть пример того, как подключить препроцессор в вашем Setup.hs в cabal sources under tests/PackageTests/CustomPreProcess/Setup.hs с помощью пользовательского крючка hookedPreProcessors (все крючки в UserHooks.hs)

Смежные вопросы