mirror of
https://github.com/soconnor0919/tree-sitter-vm.git
synced 2026-02-04 15:56:38 -05:00
- Added comprehensive README with usage instructions - Added .gitignore to prevent build artifacts from being committed - Removed target/ directories and duplicate WASM files - Cleaned up parser binaries and test files
51 lines
1.4 KiB
Markdown
51 lines
1.4 KiB
Markdown
# tree-sitter-vm
|
|
|
|
A [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for VM (Virtual Machine) language as used in the [nand2tetris](https://www.nand2tetris.org/) course.
|
|
|
|
## Supported File Types
|
|
|
|
- `.vm` - VM language source files
|
|
|
|
## Features
|
|
|
|
- **Syntax highlighting** for arithmetic, memory, program flow, and function commands
|
|
- **Code navigation** with outline support for functions and labels
|
|
- **Bracket matching** for all syntax elements
|
|
- **Integration** with Zed editor and other Tree-sitter compatible editors
|
|
|
|
## Usage
|
|
|
|
This grammar is designed to work with the [nand2tetris-zed](https://github.com/soconnor0919/nand2tetris-zed) extension for Zed editor, providing complete language support for the nand2tetris course.
|
|
|
|
## Grammar Details
|
|
|
|
- **Language**: VM Language
|
|
- **Scope**: `source.vm`
|
|
- **File Types**: `.vm`
|
|
- **Node Types**: `push_command`, `pop_command`, `arithmetic_command`, `memory_command`, `program_flow_command`, `function_command`
|
|
|
|
## Development
|
|
|
|
### Building
|
|
|
|
```bash
|
|
# Generate parser
|
|
tree-sitter generate
|
|
|
|
# Build parser
|
|
tree-sitter build
|
|
|
|
# Test grammar
|
|
tree-sitter test
|
|
```
|
|
|
|
## License
|
|
|
|
MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
|
## Related
|
|
|
|
- [nand2tetris-zed](https://github.com/soconnor0919/nand2tetris-zed) - Complete Zed extension
|
|
- [nand2tetris.org](https://www.nand2tetris.org/) - Course website
|
|
- [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) - Parser generator
|