#incremental #parser #merlin6502

tree-sitter-merlin6502

merlin6502 grammar for the tree-sitter parsing library

4 stable releases

new 2.2.0 Apr 21, 2024
2.1.0 Oct 1, 2023
2.0.0 Mar 11, 2023
1.0.0 Oct 30, 2022

#267 in Text editors

Download history 2/week @ 2024-02-18 23/week @ 2024-02-25 3/week @ 2024-03-03 18/week @ 2024-03-10 2/week @ 2024-03-17 56/week @ 2024-03-31 4/week @ 2024-04-07

63 downloads per month
Used in 2 crates (via a2kit)

MIT license

1MB
41K SLoC

C 40K SLoC JavaScript 651 SLoC // 0.1% comments Scheme 183 SLoC Rust 33 SLoC // 0.4% comments

Parser for Merlin 6502 Assembly

This is the rust binding for tree-sitter-merlin6502. To use the parser, include the following in your package's Cargo.toml:

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

Here is a trivial main.rs example:

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());
}

This should print the syntax tree

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

For more on parsing with rust, see the general guidance here.

Dependencies

~2.7–4MB
~71K SLoC