Haskell中有许多可供我们使用的开源解析器实现.Parsec似乎是文本解析的标准,而attoparsec似乎是二进制解析的流行选择,但除此之外我不太了解.是否存在选择解析器实现的特定决策树?您是否了解过有关图书馆优势或劣势的任何有趣内容?
Don*_*art 51
你有几个不错的选择.
对于String类型的轻量级解析:
对于压缩字节串解析,例如HTTP头.
对于实际的二进制数据,大多数人使用:
问自己的主要问题是底层字符串类型是什么?
该决定很大程度上决定了您将使用哪个解析器工具集.
要问的第二个问题是:我是否已经拥有数据类型的语法?如果是这样,我可以用得开心
显然,对于自定义数据类型,有各种好的现有解析器:
小智 11
只是为了添加Don的帖子:就我个人而言,我非常喜欢Text.ParserCombinators.ReadP(基础的一部分),用于简单明了的快速简单的东西.特别是当Parsec看起来有点矫枉过正时.
有一个bytestringreadp库用于bytestring版本,但它不包括Char8字节串,我怀疑attoparsec在这一点上是一个更好的选择.
| 归档时间: |
|
| 查看次数: |
4936 次 |
| 最近记录: |