4个版本 (2个破坏性更新)
0.3.0 | 2022年5月28日 |
---|---|
0.2.1 | 2020年4月25日 |
0.2.0 | 2020年4月21日 |
0.1.0 | 2020年2月15日 |
#195 在 解析工具
32KB
635 行
memoir
Memoir 是一个自描述解析器组合库。解析器以可打印自身作为文档的实化对象表示。这确保了基于命令的语言的文档始终与语法保持最新。
此库用于 rx 的命令界面。
lib.rs
:
Memoir 是一个自描述、反射性的解析器组合库。解析器以可打印自身作为文档的实化对象表示。
对于大多数用途,应导入 memoir 的 prelude。
use memoir::*;
let parser =
string("set").then(optional(symbol('!')))
.then(whitespace())
.then(either(string("on"), string("off")));
assert_eq!(parser.label, r#""set" ['!'] <whitespace> "on" | "off""#);
assert!(parser.parse("set on").is_ok());