#语法 #pest #abnf #转换 #帮助 #小型 #数据

abnf_to_pest

一个小型库,帮助将ABNF语法转换为pest

6个版本

0.5.1 2022年8月15日
0.5.0 2020年4月5日
0.2.0 2019年12月24日
0.1.2 2019年12月21日
0.1.1 2019年4月15日

#341配置

Download history 5421/week @ 2024-03-14 6971/week @ 2024-03-21 7401/week @ 2024-03-28 7300/week @ 2024-04-04 7357/week @ 2024-04-11 6240/week @ 2024-04-18 5402/week @ 2024-04-25 6769/week @ 2024-05-02 6422/week @ 2024-05-09 8011/week @ 2024-05-16 6315/week @ 2024-05-23 8377/week @ 2024-05-30 7375/week @ 2024-06-06 6656/week @ 2024-06-13 7333/week @ 2024-06-20 5389/week @ 2024-06-27

每月28,426次下载
用于 13 个crates(2个直接使用)

MIT/Apache

8KB
143

abnf_to_pest

一个小型库,帮助将ABNF语法转换为pest

许可证

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的您提交的任何有意包含在工作中的贡献,都将按照上述方式双许可,不附加任何额外条款或条件


lib.rs:

一个小型库,帮助将ABNF语法转换为pest

示例用法

let abnf_path = "src/grammar.abnf";
let pest_path = "src/grammar.pest";

let mut file = File::open(abnf_path)?;
let mut data = Vec::new();
file.read_to_end(&mut data)?;
data.push('\n' as u8);

let mut rules = abnf_to_pest::parse_abnf(&data)?;
rules.remove("some_inconvenient_rule");

let mut file = File::create(pest_path)?;
writeln!(&mut file, "{}", render_rules_to_pest(rules).pretty(80))?;

依赖关系

~3.5MB
~59K SLoC