我想做一些源代码转换(自动导入列表清理),我想保留注释和格式。我断断续续地听到一些关于解析器做这件事的东西,我想是ghc解析器。
看起来我可以通过hs-src-exts、Language.Haskell.Exts.Annotate和它的SrcSpans从文件中拉出一些东西来做到这一点。我认为SrcsSpanInfo只涵盖了已解析的部分,但从理论上讲,我可以通过查看中间的内容来找出注释。但它没有详细的文档记录,也没有我能找到的帮助函数,而且看起来很麻烦,例如,没有简单的方法可以打印出包含格式和注释的解析表达式。所以我认为它不应该以这种方式使用,它只是为了让你可以突出显示文件中的代码或其他东西。我的印象是,作者打算使用注释来支持这一点,但从未使用过它。
看起来yi和leksah都没有做到这一点。我觉得HaRe可能会,但它并没有很好的文档。有没有haskell解析器可以做到这一点?
发布于 2011-05-20 07:32:25
haskell-src-exts最近获得了对preserving comments的支持,它已经记录了src spans。我不确定是否支持漂亮的打印,但你可能会让它工作。
GHC解析器也做类似的事情。
https://stackoverflow.com/questions/6065951
复制相似问题