4 个稳定版本
2.0.0 | 2024年7月26日 |
---|---|
1.1.1 |
|
1.0.3 | 2023年11月27日 |
1.0.2 | 2022年10月2日 |
1.0.1 | 2022年3月13日 |
#220 in 文本编辑器
186 每月下载量
在 2 个 crate 中使用 (通过 a2kit)
1MB
29K SLoC
Integer BASIC 解析器
这是 tree-sitter-integerbasic 的 rust 绑定。要使用解析器,请在您的包的 Cargo.toml
中包含以下内容
[dependencies]
tree-sitter = "0.22.4"
tree-sitter-integerbasic = "2.0.0"
以下是一个简单的 main.rs
示例
use tree_sitter;
use tree_sitter_integerbasic;
fn main() {
let code = "10 GOTO 10\n";
let mut parser = tree_sitter::Parser::new();
parser.set_language(&tree_sitter_integerbasic::language())
.expect("Error loading Integer BASIC grammar");
let tree = parser.parse(code,None).unwrap();
println!("{}",tree.root_node().to_sexp());
}
这应该会打印出语法树
(source_file (line (linenum) (statement (statement_goto) (integer))))
有关使用 rust 进行解析的更多信息,请参阅一般指南 此处.
lib.rs
:
此 crate 为 tree-sitter 解析库提供 Integerbasic 语言支持。
通常,您将使用 language 函数将此语言添加到 tree-sitter Parser,然后使用解析器解析一些代码
let code = r#"
"#;
let mut parser = tree_sitter::Parser::new();
parser.set_language(&tree_sitter_integerbasic::language()).expect("Error loading Integerbasic grammar");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());
依赖项
~2.8–4MB
~72K SLoC