主要观点:nom 是一个用于解析的 Rust 库,经历了多次版本更新,包含众多功能添加、修改和修复。
关键信息和重要细节:
版本更新内容:
- 从 8.0.0 到 0.1.1 各版本都有不同程度的更新,包括添加新的组合器(如
Parser::map_res
等)、修改错误处理(如Error
相关的修改)、移除一些不常用或引起混淆的功能(如某些宏组合器、特定的输入类型等)、改变一些组合器的行为(如Parser::map
等的参数变化)等。 - 不同版本的感谢人员众多,涵盖了众多贡献者。
- 新增了多种输入类型的解析功能(如
BitSlice
等),改进了文档(增加更多代码示例等),整合了其他优秀库(如bitvec
等)。
- 从 8.0.0 到 0.1.1 各版本都有不同程度的更新,包括添加新的组合器(如
重大变化:
- 最小 Rust 版本提升(如从 1.37 到 1.44),一些解析器的返回值和行为发生改变(如 streaming 解析器返回的额外字节数等)。
- 错误管理方面有大量改进,如与
std::error::Error
集成、增加更多特定错误 trait 等。 - 内部实现进行了重写,使用函数作为基础生成解析器,宏被更新以使用函数。
其他方面:
- 有关于各种组合器、输入类型、错误处理等方面的详细修改和新增内容,如不同版本中对各种具体组合器(如
alt
、separated_list
等)的修改和优化。 - 每个版本都有相应的感谢人员,体现了社区的贡献。
- 有关于各种组合器、输入类型、错误处理等方面的详细修改和新增内容,如不同版本中对各种具体组合器(如
总结:nom 库在 Rust 开发中不断演进,通过版本更新提供了更丰富的功能和更好的性能,同时也在错误处理和内部实现等方面不断优化。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。