tree-sitter-arm
Описание
ARM grammar for Tree-sitter
Языки
- C88,3%
- C++6,7%
- JavaScript3,1%
- Rust1,4%
- Scheme0,3%
- Python0,2%
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
22 дня назад
README.md
ARM/ARM64 Assembly grammar for Tree-sitter
A Tree-sitter grammar for ARM and ARM64 assembly language (GNU Assembler syntax).
Features
Supported Architectures
- ARM32: r0-r15 registers, standard ARM instruction set
- ARM64: x0-x30, w0-w30 registers, AArch64 instruction set
- SIMD/FP: v0-v31, q0-q31, d0-d31, s0-s31 registers
- Special registers: sp, lr, pc, fp, ip, xzr, wzr
Comment Styles
- ARM line comments (highest priority)@- Line comments (lower priority, allows#in immediate values)#- C-style block comments/* */- C++ style comments//
Immediate Values
prefix for immediate values (e.g.,#,#0,#0xff)#-40- Supports decimal, hexadecimal (
), octal (0x), and binary (0) formats0b - High priority parsing ensures
in operands is recognized as immediate value, not comment#
Memory Addressing
- Square bracket syntax:
,[r1][x1] - With offset:
,[sp, #80][x29, #-40] - Apple ARM64 addressing:
andadrp x0, symbol@PAGEadd x0, x0, symbol@PAGEOFF
Directives
- All standard GNU as directives (
,.global,.section,.ascii, etc.).asciz
Installation for Helix Editor
Add to your :~/.config/helix/languages.toml
Then run:
Testing
Run tests with:
Examples
ARM32
ARM64
Apple ARM64
Related Projects
For x86/x86-64 assembly, see tree-sitter-gas.