tree-sitter/docs/index.md
Andrew Hlynskyi 2e732d17dd docs: merge of all binding and grammar link PRs
Joined commit messages:
---

Closes: #2048

    docs: add capnp, smali, thrift

Closes: #2026

    Add Perl binding

Closes: #1989

    Add Ada to the list of available parsers

Closes: #1980

    Add clojure to list of available parsers

    After some discussion in
    https://github.com/sogaiu/tree-sitter-clojure/issues/28

    I decided to submit an issue to the tree-sitter organization
    to include tree-sitter-clojure in their list of available parsers.
    This repository is used by a couple of editors and tools, and
    I am using it to build a tree-sitter based programming mode
    for Clojure in Emacs.
    Since there are a couple of tools that depend on it, it seems
    worthy of inclusion in an official list of tree-sitter grammars.

Closes: #1943

    Add meson grammar to list.

Closes: #1926

    docs(meson): add parse for meson
    add meson

Closes: #1912

    Merge branch 'master' into add-heex-parser

Closes: #1908

    Add Apex to available parsers

Closes: #1876

    Add tree-sitter-gleam to list of available parsers

Closes: #1862

    DOCS: Add entries various SQL flavor parsers

Closes: #1857

    Add Go to the available language bindings

Closes: #1856

    docs: add jq grammar

Closes: #1828

    Add tree sitter lalrpop

    This is a parser for https://github.com/lalrpop/lalrpop,
    a parser generator for use in Rust.

    It is still in development because it should support some kind
    of highlighting of the pseudo rust code used in rules.

Closes: #1733

    Add YANG parser to parser list
    I wrote this parser over summer vacation last year and I've been using it at work every day since.

Closes: #1728

    Add link to m68k grammar
    Link to m68k (Motorola 68000 assembly) grammar in docs.

Closes: #1697

    Added rego language

Closes: #1694

    docs: add Formula parser

Closes: #1672

    docs: Add link to QML (Qt UI spec/programming language) parser

Closes: #1671

    parser: add beancount parser link

Closes: #1623

    Add link to llvm grammars
    Add links to LLVM IR, MIR and TableGen parsers.

Closes: #1579

    Add my Smali parser to the WIP list

Closes: #1575

    Update index.md

Closes: #1563

    Add re2c and sort alphabetically

    Added re2c parser (lexer generator).
    Sorted the list alphabetically case-insensitively.

Closes: #1209

    add link to chess Portable Game Notation grammar

Closes: #1176

    Add tree-sitter-lean.

Closes: #1123

    Add parsers to list

---
Co-authored-by: Amaan Qureshi <amaanq12@gmail.com>
Co-authored-by: Felipe Gasper <FGasper@users.noreply.github.com>
Co-authored-by: Emmanuel Briot <briot.emmanuel@gmail.com>
Co-authored-by: Danny Freeman <dannyfreeman@users.noreply.github.com>
Co-authored-by: Garrett D'Amore <garrett@damore.org>
Co-authored-by: ShootingStarDragons <ShootingStarDragons@protonmail.com>
Co-authored-by: Clay <connorlay@users.noreply.github.com>
Co-authored-by: Anthony Heber <anthony@heber.dev>
Co-authored-by: Jonathan Arnett <jonarnett90@gmail.com>
Co-authored-by: takegue <takegue@gmail.com>
Co-authored-by: Cédric Fabianski <cedric@bearer.sh>
Co-authored-by: flurie <flurie@gmail.com>
Co-authored-by: traxys <quentin+dev@familleboyer.net>
Co-authored-by: Tomas Sandven <597206+Hubro@users.noreply.github.com>
Co-authored-by: Graham Bates <info@grahambates.com>
Co-authored-by: Lex <mr.x97@mail.ru>
Co-authored-by: Ben Siraphob <bensiraphob@gmail.com>
Co-authored-by: Yuya Nishihara <yuya@tcha.org>
Co-authored-by: WeiZhang <kweizh@gmail.com>
Co-authored-by: Flakebi <flakebi@t-online.de>
Co-authored-by: Yotam <me@yotam.net>
Co-authored-by: Fymyte <34305318+Fymyte@users.noreply.github.com>
Co-authored-by: Alexandre A. Muller <muller@outlook.com>
Co-authored-by: Roland Walker <walker@pobox.com>
Co-authored-by: Julian Berman <Julian@GrayVines.com>
Co-authored-by: Santos Gallegos <stsewd@protonmail.com>
2023-01-27 10:15:23 +02: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: