#增量 #解析器 #解析树 #语法树 #merlin6502

tree-sitter-merlin6502

tree-sitter-merlin6502 解析库的语法

5 个稳定版本

新版本 3.0.1 2024 年 8 月 17 日
3.0.0 2024 年 7 月 20 日
2.3.0 2024 年 7 月 17 日
2.2.0 2024 年 4 月 21 日
1.0.0 2022 年 10 月 30 日

162文本编辑器 中排名

Download history 3/week @ 2024-04-28 158/week @ 2024-07-14 131/week @ 2024-07-21 8/week @ 2024-07-28 84/week @ 2024-08-11

每月下载量 253
2 个包中使用(通过 a2kit

MIT 许可证

1MB
40K SLoC

C 39K SLoC JavaScript 653 SLoC // 0.1% comments Scheme 184 SLoC Rust 33 SLoC // 0.4% comments

Merlin 6502 汇编解析器

这是 tree-sitter-merlin6502 的 Rust 绑定。要使用解析器,请将以下内容包含在您的包的 Cargo.toml

[dependencies]
tree-sitter = "0.22.4"
tree-sitter-merlin6502 = "3.0.1"

以下是一个简单的 main.rs 示例

use tree_sitter;
use tree_sitter_merlin6502;

fn main() {
    let code = " LDA #$00\n";
    let mut parser = tree_sitter::Parser::new();
    parser.set_language(&tree_sitter_merlin6502::language())
      .expect("Error loading Merlin 6502 grammar");
    let tree = parser.parse(code,None).unwrap();

    println!("{}",tree.root_node().to_sexp());
}

这将打印语法树

(source_file (operation (op_lda) (arg_lda (imm (imm_prefix) (num)))))

有关 Rust 解析的更多信息,请参阅一般指南 此处.


lib.rs:

本包为 tree-sitter 解析库提供 merlin6502 语言支持。

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

let code = "";
let mut parser = tree_sitter::Parser::new();
parser.set_language(tree_sitter_merlin6502::language()).expect("Error loading merlin6502 grammar");
let tree = parser.parse(code, None).unwrap();

依赖项

~2.7–4MB
~71K SLoC