ptersilie / node-tree-sitter

Incremental parsers for node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tree-sitter

Build Status

Incremental parsers for node

Installation

npm install tree-sitter

Usage

Make a document:

var treeSitter = require("tree-sitter");
var document = new treeSitter.Document();

Create a language module using tree-sitter-compiler. See the javascript module for an example.

Set the document's language:

document.setLanguage(require("tree-sitter-javascript"));

Set the document's text:

document.setInputString("var inc = function(n) { return n + 1; }; inc(5);");

Access the document's AST:

document.rootNode.toString()

/*
 *    (program
 *      (var_declaration
 *        (identifier)
 *        (function (formal_parameters (identifier)) (statement_block
 *          (return_statement (math_op (identifier) (number))))))
 *      (expression_statement (function_call
 *        (identifier) (number))))
 */

var program = document.children[0];
program.children[0];

/*
 *  { name: 'var_declaration',
 *    row: 0,
 *    column: 0,
 *    start: 0,
 *    end: 40,
 *    children: { length: 2 } }
 */

About

Incremental parsers for node

License:MIT License


Languages

Language:C++ 89.6%Language:Python 8.0%Language:JavaScript 2.2%Language:Vim Script 0.2%