Semi-tolerant YAML concrete syntax tree parser.
match yaml_parser::parse(&code) {
Ok(tree) => println!("{tree:#?}"),
Err(err) => eprintln!("{err}"),
};
It produces rowan tree if succeeded. For consuming the tree, see rowan's docs.
If you need to build AST from CST, use ast
module:
let root = yaml_parser::ast::Root::cast(tree).unwrap();
dbg!(root);
Tests come from official test suite.
MIT License
Copyright (c) 2024-present Pig Fang