tree-sitter/docs/index.md
Andrew Hlynskyi 3c806913d8 docs: improve external scanner details and fix conflicting tokens details
* Removed convention notes introduced in #1947 due to:
  * It doesn't so strict for bindings and they may need to obey to some
    target language conventions.
  * For language grammars there is a note that states the same in the
    `Creating Parsers` section.
* Removed `External Scanning` item introduced in 87a0517 commit
  originated from #1612 due to unclear consistency with other
  5 original statements. There is a similar explanation in the
  `Other External Scanner Details` section.
2023-04-16 23:46:21 +03:00

9.3 KiB

title
Introduction

Introduction

Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:

  • General enough to parse any programming language
  • Fast enough to parse on every keystroke in a text editor
  • Robust enough to provide useful results even in the presence of syntax errors
  • Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application

Language Bindings

There are currently bindings that allow Tree-sitter to be used from the following languages:

Parsers

Talks on Tree-sitter

Underlying Research

The design of Tree-sitter was greatly influenced by the following research papers: