帕塞克
请参阅黑客软件包描述了解更多信息。
一个一元解析器组合库,由Daan Leijen编写。Parsec设计从头开始作为一个工业级解析器库。很简单,很安全有文档记录,具有广泛的库,良好的错误消息,并且速度快。
一些链接:
通过分析Parsec对Hackage的反向依赖我们可以找到使用Parsec的开源项目。例如围巾,配置文件,脑脊液病毒和哈森.
入门
这需要工作版本的阴谋集团
和ghci公司
,属于Haskell的任何现代安装,例如Haskell平台.
首先安装Parsec。
cabal安装parsec
下面我们展示了一个非常简单的解析器如何测试匹配的括号由GHCI(交互式GHC环境)生成,我们从使用全球温室气体排放指数
命令)。
前奏曲>:m+文本。帕塞克序曲文本。Parsec>let parenSet=char'('>>多parenSet>>char')'::Parsec String()char正在加载包装变压器-0.3.0.0。。。正在链接。。。完成。正在加载包数组-0.5.0.0。。。正在链接。。。完成。正在加载包deepseq-1.3.0.2。。。正在链接。。。完成。通过测试-0.10.4.0加载包。。。正在链接。。。完成。正在加载包mtl-2.1.3.1。。。正在链接。。。完成。正在加载包文本-1.1.1.3。。。正在链接。。。完成。正在加载包parsec-3.1.5。。。正在链接。。。完成。序曲文本。Parsec>let parens=(多parenSet>>eof)<|>eof序曲文本。Parsec>解析parens“”()右侧()前奏曲文本。Parsec>解析parens“”()(())右侧()序曲文本。Parsec>parse parens“”(“左(第1行第2列):输入意外结束应为“(”或“)”
这个右侧()
结果表明成功:括号匹配。这个左[…]
结果表明解析失败,并且是详细的带有错误消息。
为了更全面地介绍Parsec,我们建议在此README文件的顶部。
贡献
问题(错误、功能请求或其他反馈)可能会在中报告该项目的Github问题跟踪程序.
也欢迎接送。
许可证
请参阅许可证存储库中的文件。