我的团队用到了一些简单的文本解析功能,就移植了 haskell 的 parsec 库。 https://github.com/Dwarfartisan/goparsec 通过了第一个测试,应该各个组合子已经可用了。这个其实参考了同行的一个非常优质的 goparsec 实现 https://github.com/sanyaade-buildtools/goparsec/blob/master/parsec/parsec.go 如果不是因为他实现的是 byte 版,而我需要unicode支持,我才不会自己造轮子。
Parsec 是 Haskell 上一个重要的库,写语法解析之类的功能相当方便,haskell 有一份很有名的入门教程《Write Yourself a Scheme in 48 Hours》(http://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours#Presentation)就是围绕这个库展开的。
有疑问加站长微信联系(非本文作者)