解析haskell保留注释/格式

Eva*_*rge 5 parsing haskell

我想做一些源代码转换(自动导入列表清理),我想保留注释和格式.关于解析器,我听到了一些关于解析器的内容,我认为是ghc解析器.

看起来我可以通过hs-src-exts Language.Haskell.Exts.Annotate和它的SrcSpans从文件中提取出来.我认为SrcsSpanInfo只涵盖解析的部分,但理论上我可以通过查看两者之间的内容来找出评论.但它没有详细记录,并且没有我能找到的辅助函数,看起来很麻烦,例如,没有简单的方法可以打印出包含格式和注释的解析表达式.所以我认为这并不意味着以这种方式使用,它只是为了突出文件中的代码或其他东西.我的印象是作者打算使用注释来支持这一点,但从来没有解决过这个问题.

看起来既不是yi也不是leksah这样做.我觉得HaRe可能会,但它不是超级记录.那里有一个haskell解析器吗?

Don*_*art 4

最近获得了对保留注释haskell-src-exts的支持,并且它已经记录了src span。我不确定是否支持漂亮的打印,但你可能可以让它工作。

GHC 解析器也做类似的事情。