tree-sitter

tree-sitter ist Library und Generator für inkrementelle Parser. Entwickelt wurde tree-sitter von GitHub-Angestellten für den Texteditor Atom.

tree-sitter wird meistens nur indirekt genutzt: durch Benutzung von Software, die tree-sitter verwendet. Inkrementelle Parser sind besonders für Texteditoren nützlich, denn diese erlauben:

Software, die tree-sitter verwendet: ast-grep, diffsitter, Difftastic, GritQL, Helix, Ki Editor, Neovim, srgn, Zed

Parser

Parser werden in JavaScript-Code definiert und von tree-sitter nach C-Code transpiliert und anschließend als Shared Library kompiliert/gelinkt. tree-sitter selbst ist in Rust geschrieben.

Für viele Datenformate und Programmiersprachen gibt es fertige Parser:

Bindings

Mit Bindings lassen sich tree-sitter-Parser im Code der jeweiligen Programmiersprache nutzen. Für zahlreiche Programmierprachen gibt es sowohl offizielle, als auch inoffizielle Bindings.

Die offiziellen Bindings finden sich als Repositories mit dem Namensschema *-tree-sitter innerhalb der tree-sitter GitHub-Organisation.

Python Bindings

py-tree-sitter sind die tree-sitter-Bindings für Python. Installierbar sind sie mit pip install tree-sitter.


Alle Angaben ohne Gewähr • HomeKontakt