nom-derive:使用自定义的derive和nom对Rust进行声明式解析

时间:2024-04-21 08:32:36
【文件属性】:

文件名称:nom-derive:使用自定义的derive和nom对Rust进行声明式解析

文件大小:46KB

文件格式:ZIP

更新时间:2024-04-21 08:32:36

Rust

名词衍生 概述 nom-derive是一个自定义派生属性,用于从结构定义中自动派生解析器。 它并不是要取代 ,而是提供一种快速简便的方法来生成结构(尤其是简单结构)的解析器。 此板条箱旨在简化常见案件。 在某些情况下,手动编写解析器将保持更高的效率。 。 这是此板条箱的主要文档,包括所有可能的选项和许多示例。 欢迎反馈! #[derive(Nom)] 此板条箱仅显示一个自定义Nom ,该宏实现了对其所应用的结构的parse 。 该项目的目标是: derive(Nom)应该足以让您轻松导出简单结构的解析器,而无需手动编写 它允许您自己重写任何解析方法 它允许将生成的解析函数与手写解析器一起使用,并且无需费力即可将它们组合在一起 它保持与标称速度一样快 nom-derive将声明性分析添加到nom 。 它还允许轻松地与过程分析混合,使编写字节编码格式的解析器变得非常容易。 例如:


【文件预览】:
nom-derive-master
----.gitignore(30B)
----src()
--------parsertree.rs(2KB)
--------meta()
--------enums.rs(11KB)
--------structs.rs(20KB)
--------config.rs(1KB)
--------lib.rs(38KB)
----.travis.yml(391B)
----Cargo.toml(771B)
----.github()
--------workflows()
--------dependabot.yml(108B)
----LICENSE-MIT(1KB)
----README.md(5KB)
----tests()
--------compile_tests.rs(152B)
--------structured.rs(2KB)
--------multiple.rs(2KB)
--------endianness.rs(2KB)
--------lifetimes.rs(2KB)
--------run-pass()
--------complex.rs(9KB)
--------compile-fail()
--------debug.rs(507B)
--------simple.rs(5KB)
--------enums.rs(5KB)
----LICENSE-APACHE(11KB)

网友评论