Kotlin Grammar for Tree-sitter
![crates.io](https://img.shields.io/crates/v/tree-sitter-kotlin)
Kotlin language grammar for Tree-sitter. You can try it out directly on the web.
![Icon](https://github.com/fwcd/tree-sitter-kotlin/raw/HEAD/Icon128.png)
The grammar is based on the official language grammar.
Project Structure
File | Description |
---|
grammar.js | The Tree-sitter grammar |
grammar-reference.js | A direct translation of the Kotlin language grammar that is, however, ambiguous to Tree-sitter |
src | The generated parser |
Setup
npm install
Development
Compilation
To (re-)compile the grammar, run:
npm run generate
Note that the grammar is written completely in JavaScript (grammar.js
), the other source files are generated by tree-sitter
.
Testing
To run the unit tests, run:
npm run test
WebAssembly
Compilation
First make sure to have Emscripten installed. If you use Homebrew, you can brew install emscripten
. Then run:
npm run build-wasm
Playground
After compiling the grammar to WebAssembly, you can invoke
npm run playground
to launch an interactive editing environment that displays the parsed syntax tree on-the-fly in the browser. You can also view a deployed version of this playground on the web.
![Screenshot](https://github.com/fwcd/tree-sitter-kotlin/raw/HEAD/playground-screenshot.png)
Documentation
More documentation on how to create Tree-sitter grammars can be found here.
See also