【发布时间】:2011-05-20 07:32:25
【问题描述】:
我想做一些源代码转换(自动导入列表清理),我想保留 cmets 和格式。我断断续续地听到一些关于执行此操作的解析器的信息,我认为是 ghc 解析器。
看起来我可以通过从文件中提取内容来使用 hs-src-exts Language.Haskell.Exts.Annotate 及其 SrcSpans 来做到这一点。我认为 SrcsSpanInfo 仅涵盖已解析的部分,但理论上我可以通过查看两者之间的内容来找出 cmets。但它没有详细记录,也没有我能找到的辅助函数,而且看起来很麻烦,例如没有简单的方法可以打印出包含格式和 cmets 的解析表达式。所以我认为它不应该以这种方式使用,它只是为了让您可以突出显示文件中的代码或其他东西。我的印象是作者打算使用注释来支持这一点,但一直没有解决。
看起来 yi 和 leksah 都没有这样做。我觉得 HaRe 可能,但它没有超级记录。有没有执行此操作的 haskell 解析器?
【问题讨论】: