3个不稳定版本
0.2.1 | 2024年7月20日 |
---|---|
0.2.0 | 2024年7月6日 |
0.1.0 | 2024年7月4日 |
#1450 在 解析器实现
1,533 每月下载量
在 pretty_yaml 中使用
84KB
2.5K SLoC
yaml_parser
半容忍YAML具体语法树解析器。
用法
match yaml_parser::parse(&code) {
Ok(tree) => println!("{tree:#?}"),
Err(err) => eprintln!("{err}"),
};
如果成功,则生成rowan树。对于消费树,请参阅rowan的文档。
如果您需要从CST构建AST,请使用ast
模块
let root = yaml_parser::ast::Root::cast(tree).unwrap();
dbg!(root);
测试
测试来自官方测试套件。
许可证
MIT许可证
版权 (c) 2024-present Pig Fang
lib.rs
:
半容忍YAML具体语法树解析器。
用法
let code = "";
match yaml_parser::parse(code) {
Ok(tree) => println!("{tree:#?}"),
Err(err) => eprintln!("{err}"),
};
如果成功,则生成rowan树。对于消费树,请参阅rowan的文档。
从CST构建AST
use yaml_parser::{ast::{AstNode, Root}, parse};
let code = "";
let tree = parse(code).unwrap();
let ast = Root::cast(tree);
assert!(matches!(ast, Some(Root { .. })));
依赖
~1.5MB
~28K SLoC