#incremental #parser #rust

tree-sitter-ygg

为 tree-sitter 解析库编写的 Yggdrasil 语法

1 个不稳定版本

0.1.0 2021年10月14日

#427文本编辑器

MIT 许可证

250KB
7.5K SLoC

C 7.5K SLoC JavaScript 205 SLoC // 0.0% comments Rust 24 SLoC Scheme 2 SLoC

Yggdrasil 语法

Build/test

tree-sitter 编写的 Yggdrasil 语法 DSL

特性

参考

tree-sitter 测试 "examples/basic.yg"


lib.rs:

本包为 tree-sitter 解析库提供了一个 Rust 语法。

通常,您将使用 language 函数将此语法添加到 tree-sitter Parser,然后使用解析器解析一些代码

use tree_sitter::Parser;

let code = r#"
    fn double(x: i32) -> i32 {
        x * 2
    }
"#;
let mut parser = Parser::new();
parser.set_language(tree_sitter_ygg::language()).expect("Error loading Rust grammar");
let parsed = parser.parse(code, None);

依赖项

~2.7–4MB
~71K SLoC