#parser-combinator #error #error-reporting #flexible #next-gen #location #zero-dependency

shrimple-parser

零依赖的下一代解析组合库,具有灵活的错误报告功能

3个版本

0.0.3 2024年5月16日
0.0.2 2024年5月16日
0.0.1 2024年5月10日

#120 in 解析器工具

Download history 124/week @ 2024-05-07 277/week @ 2024-05-14 27/week @ 2024-05-21 8/week @ 2024-05-28

每月下载量 82次
shrimple中使用

MIT许可证

45KB
646

用于以简洁的函数式风格编写解析器,并具有详尽的错误报告的零依赖库。

通过用户定义的 Reason 类型区分错误类型,该类型指示解析器期望什么。一个 ParsingError 也可以没有原因,这意味着错误是可恢复的。一些内置的解析器可以将 std::convert::Infallible 作为它们的错误原因,这意味着解析器可能返回的任何错误都是可恢复的。对于需要尝试多个选项的解析器,可恢复错误和致命错误的区分非常重要。

通过构建 FullParsingError,如 Parser::with_full_errorParsingError::with_src_loc 等方法,便于在源代码中进行精确的错误报告。

无运行时依赖

功能