2011-05-19 18 views
5

Bazı kaynak kodu dönüşümü yapmak istiyorum (otomatik içe aktarma listesi temizleme) ve yorumları ve biçimlendirmeleri korumak istiyorum. Bunu yapan parsers hakkında bazı şeyler duydum, ghc ayrıştırıcısı için düşünüyorum.Ayrıştırma haskell yorumlar/biçimlendirme koruma

Bunu hs-src-exts Language.Haskell.Exts.Annotate ve SrcSpans ile dosyadan bir şeyler çıkararak yapabiliyor gibi görünüyor. SrcsSpanInfo'nun sadece ayrıştırılmış parçaları kapsadığını düşünüyorum, ama teorik olarak, aradakileri inceleyerek yorumları anlayabilirim. Ancak, çok ayrıntılı bir şekilde belgelenmiyor ve bulabileceğim hiçbir yardımcı işlev yok ve bir güçlük gibi görünüyor. biçimlendirme ve yorumlar dahil olmak üzere ayrıştırılmış bir ifadeyi yazdırmanın kolay bir yolu yoktur. Bu yüzden bu şekilde kullanılmasının gerekmediğini düşünüyorum, sadece dosyadaki kodları vurgulayabilirsiniz. Benim izlenimim, yazarın bunu desteklemek için ek açıklamalar kullanması gerektiğiydi, ancak hiçbir zaman bu konuya hiç girmemişti.

Bu ne tür ne de leksah gibi görünüyor. HaRe gibi hissediyorum, ama belgelenmemiş. Orada böyle bir çözümleyici var mı?

cevap

4

haskell-src-exts son zamanlarda preserving comments desteğini aldı ve zaten src spans'u kaydediyor. Güzel baskının desteklenip desteklenmediğinden emin değilim, ama muhtemelen işe yarayabilirdi. GHC ayrıştırıcısı da benzer şeyler yapar.

+0

Tamamen haklısınız, bir şekilde parseWithComments öğelerini özledim. Bu işe yarayacak gibi görünüyor. Teşekkürler! –