Skip to content

nedpals/tree-sitter-v

Repository files navigation

tree-sitter-v

V language grammar for tree-sitter

build/test report-badge

Existing grammars

This grammar is heavily derived from the following language grammars:

Installation

npm install tree-sitter-v
const Parser = require('tree-sitter');
const V = require('tree-sitter-v');

const parser = new Parser();
parser.setLanguage(V);

Usage with V [v-tree-sitter (soon)]

// TODO:
import treesitter
import tree_sitter_v.bindings.v

fn main() {
  mut parser := treesitter.new_parser()
  parser.set_language(v.language)
}

Limitations

  1. It does not support all deprecated/outdated syntaxes to avoid any ambiguities and to enforce the one-way philosophy as much as possible.
  2. Assembly/SQL code in ASM/SQL block nodes are loosely checked and parsed immediately regardless of the content.
  3. Syntaxes specific for implementing JS and native compilation support are not and will not be implemented unless a consensus has been reached. Features from "Compiler magic" are being generalized into different nodes as much as possible.