Skip to content

Cwooper/tree-sitter-kpl

Repository files navigation

tree-sitter-kpl

Tree-sitter grammar for KPL (Kernel Programming Language), a systems programming language designed by Harry Porter at Portland State University. KPL compiles to Blitz assembly and runs on the Blitz emulator.

File Types

Extension Description
.k KPL code files
.kpl KPL code files (alternate)
.h KPL header files

Usage

Neovim (nvim-treesitter)

Add KPL to your nvim-treesitter config. (Instructions TBD once grammar is stable.)

VS Code

Used by the kpl-linter extension.

Zed / Helix

These editors can consume tree-sitter grammars directly. (Instructions TBD.)

Development

Requires tree-sitter CLI (>= 0.25).

pnpm install --ignore-scripts   # Install deps (generate parser first)
tree-sitter generate             # Generate parser from grammar.js
tree-sitter test                 # Run test corpus
tree-sitter parse examples/Main.k  # Parse a file
tree-sitter parse -d examples/Main.k  # Parse with debug output

Testing

Tests live in test/corpus/*.txt:

tree-sitter test                    # Run all tests
tree-sitter test -i 'test name'    # Run a specific test (regex)
tree-sitter test -u                 # Auto-update expected outputs

References

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors