50 lines
2 KiB
Markdown
50 lines
2 KiB
Markdown
---
|
|
title: Introduction
|
|
---
|
|
|
|
# Introduction
|
|
|
|
Tree-sitter is a library for parsing source code. It aims to be:
|
|
|
|
* **Fast** and incremental so that it can be used in a text editor
|
|
* **Robust** enough to provide useful results even in the presence of syntax errors
|
|
* **General** enough to parse any programming language
|
|
* **Dependency-free** (and written in pure C) so that it can be embedded in any application
|
|
|
|
### Language Bindings
|
|
|
|
There are currently bindings that allow Tree-sitter to be used from the following languages:
|
|
|
|
* [JavaScript](https://github.com/tree-sitter/node-tree-sitter)
|
|
* [Rust](https://github.com/tree-sitter/rust-tree-sitter)
|
|
* [Haskell](https://github.com/tree-sitter/haskell-tree-sitter)
|
|
* [Ruby](https://github.com/tree-sitter/ruby-tree-sitter)
|
|
|
|
### Available Parsers
|
|
|
|
There are fairly complete parsers for the following languages:
|
|
|
|
* [Bash](https://github.com/tree-sitter/tree-sitter-bash)
|
|
* [C](https://github.com/tree-sitter/tree-sitter-c)
|
|
* [C++](https://github.com/tree-sitter/tree-sitter-cpp)
|
|
* [Go](https://github.com/tree-sitter/tree-sitter-go)
|
|
* [JavaScript](https://github.com/tree-sitter/tree-sitter-javascript)
|
|
* [PHP](https://github.com/tree-sitter/tree-sitter-php)
|
|
* [Python](https://github.com/tree-sitter/tree-sitter-python)
|
|
* [Ruby](https://github.com/tree-sitter/tree-sitter-ruby)
|
|
* [Rust](https://github.com/tree-sitter/tree-sitter-rust)
|
|
* [TypeScript](https://github.com/tree-sitter/tree-sitter-typescript)
|
|
|
|
There are parsers in development for these languages:
|
|
|
|
* [Haskell](https://github.com/tree-sitter/tree-sitter-haskell)
|
|
* [Java](https://github.com/tree-sitter/tree-sitter-java)
|
|
* [OCaml](https://github.com/tree-sitter/tree-sitter-ocaml)
|
|
* [C-sharp](https://github.com/tree-sitter/tree-sitter-c-sharp)
|
|
* [Julia](https://github.com/tree-sitter/tree-sitter-julia)
|
|
* [Scala](https://github.com/tree-sitter/tree-sitter-scala)
|
|
|
|
### Talks on Tree-sitter
|
|
|
|
* [FOSDEM 2018](https://www.youtube.com/watch?v=0CGzC_iss-8)
|
|
* [GitHub Universe 2017](https://www.youtube.com/watch?v=a1rC79DHpmY)
|