3个版本
0.0.3 | 2024年5月16日 |
---|---|
0.0.2 | 2024年5月16日 |
0.0.1 | 2024年5月10日 |
#120 in 解析器工具
每月下载量 82次
在shrimple中使用
45KB
646 行
用于以简洁的函数式风格编写解析器,并具有详尽的错误报告的零依赖库。
通过用户定义的 Reason
类型区分错误类型,该类型指示解析器期望什么。一个 ParsingError
也可以没有原因,这意味着错误是可恢复的。一些内置的解析器可以将 std::convert::Infallible
作为它们的错误原因,这意味着解析器可能返回的任何错误都是可恢复的。对于需要尝试多个选项的解析器,可恢复错误和致命错误的区分非常重要。
通过构建 FullParsingError
,如 Parser::with_full_error
,ParsingError::with_src_loc
等方法,便于在源代码中进行精确的错误报告。