【文件属性】:
文件名称:nom-derive:使用自定义的derive和nom对Rust进行声明式解析
文件大小:46KB
文件格式:ZIP
更新时间:2021-04-01 14:45:56
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)