#tree-sitter #assembly #parser #incremental

tree-sitter-asm

assembly grammar for the tree-sitter parsing library

3 releases (breaking)

0.24.0 Feb 6, 2025
0.22.6 Aug 9, 2024
0.1.0 Mar 28, 2023

#73 in Parser tooling

Download history 468/week @ 2024-11-18 372/week @ 2024-11-25 403/week @ 2024-12-02 378/week @ 2024-12-09 371/week @ 2024-12-16 290/week @ 2024-12-23 283/week @ 2024-12-30 409/week @ 2025-01-06 378/week @ 2025-01-13 398/week @ 2025-01-20 422/week @ 2025-01-27 636/week @ 2025-02-03 405/week @ 2025-02-10 411/week @ 2025-02-17 455/week @ 2025-02-24 364/week @ 2025-03-03

1,698 downloads per month
Used in 7 crates (3 directly)

MIT and maybe GPL-3.0-only

135KB
5K SLoC

C 4.5K SLoC JavaScript 137 SLoC // 0.0% comments Scheme 51 SLoC // 0.1% comments Rust 30 SLoC // 0.1% comments

tree-sitter-asm

Generic assembly grammar for tree-sitter

Usage in Neovim

Parser Installation

The parser is included in the nvim-treesitter plugin. To use it, simply install it with :TSInstall asm or by adding it to your ensure_installed list.


lib.rs:

This crate provides asm language support for the tree-sitter parsing library.

Typically, you will use the [LANGUAGE][] constant to add this language to a tree-sitter Parser, and then use the parser to parse some code:

let code = "pushq %rbp, %rbp";
let mut parser = tree_sitter::Parser::new();
let language = tree_sitter_asm::LANGUAGE;
parser
    .set_language(&language.into())
    .expect("Error loading asm parser");
let tree = parser.parse(code, None).unwrap();
assert!(!tree.root_node().has_error());

Dependencies

~4–310KB