Парсинг haskell с сохранением комментариев / форматирования - PullRequest
5 голосов
/ 20 мая 2011

Я хочу выполнить преобразование исходного кода (автоматическая очистка списка импорта) и сохранить комментарии и форматирование.Я слышал кое-что о парсерах, которые делают это, я думаю, для парсера ghc.

Похоже, я мог бы сделать это с помощью hs-src-exts Language.Haskell.Exts.Annotate иего SrcSpans, вытаскивая вещи из файла.Я думаю, что SrcsSpanInfo охватывает только проанализированные части, но я теоретически мог бы выяснить комментарии, посмотрев, что между ними.Но это не документировано в деталях, и я не могу найти никаких вспомогательных функций, и это похоже на неприятности, например, нет простого способа распечатать проанализированное выражение, включая форматирование и комментарии.Поэтому я думаю, что он не предназначен для такого использования, просто вы можете выделить код в файле или что-то в этом роде.У меня сложилось впечатление, что автор хотел использовать аннотации для поддержки этого, но никогда не удосужился это сделать.

Похоже, что ни йи, ни лекса не делают этого.Я чувствую, что HaRe мог бы, но это не супер документировано.Есть ли парсер haskell, который это делает?

1 Ответ

4 голосов
/ 20 мая 2011

haskell-src-exts недавно получил поддержку с сохранением комментариев , и он уже записывает src spans .Я не уверен, поддерживается ли симпатичная печать, но вы, вероятно, могли бы заставить это работать.

Парсер GHC также делает подобные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...