awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tree-sitter avatar

tree-sitter/tree-sitter

0
View on GitHub↗
23,848 stars·2,419 forks·Rust·mit·30 viewstree-sitter.github.io↗

Tree Sitter

Tree-sitter is a parsing system and incremental parsing framework designed to generate high-performance syntax trees from source code. It functions as a language parsing engine that compiles formal grammar definitions into portable code, which can then be integrated into text editors and development tools to facilitate structural analysis, code navigation, and syntax highlighting.

The project distinguishes itself through its ability to maintain valid, usable syntax tree structures even when source code contains syntax errors or incomplete fragments. It utilizes a generalized parsing algorithm to handle ambiguous grammars and employs an incremental update mechanism that re-parses only the modified portions of a file, ensuring responsiveness during active editing sessions.

Beyond its core parsing capabilities, the system includes a declarative query engine that allows users to execute pattern-matching searches against generated syntax trees. This enables the extraction of specific nodes or structural information for complex analysis and transformation tasks. The framework provides a language-agnostic runtime core and native bindings, allowing developers to embed these parsing and querying capabilities into a wide variety of host applications.

Features

  • Compilers - Compiles formal grammar definitions into portable, high-performance parsing code for integration into development tools.
  • Parser Generators - Creates parsers from formal grammar definitions to enable structural analysis and syntax highlighting for source code.
  • Incremental Parsers - Provides an incremental parsing framework that maintains high-performance syntax trees during active editing.
  • Syntax Parsing Engines - Functions as a language parsing engine that compiles formal grammars into portable code for integration into development tools.
  • Abstract Syntax Tree Generators - Converts source code into structured syntax trees to facilitate code navigation, highlighting, and analysis.
  • Parsing Recovery - Maintains valid syntax tree structures even when source code contains syntax errors or incomplete fragments.
  • Syntax Parsers - Builds high-performance parsers for programming languages that produce concrete syntax trees suitable for structural analysis.
  • Syntax Query Definitions - Executes declarative structural searches against generated syntax trees to identify specific code constructs for analysis or transformation.
  • Incremental Reconciliation - Updates only modified branches of a syntax tree during edits to maintain high performance without re-parsing the entire file.
  • Concrete Syntax Tree Generators - Converts source code into a structured tree representation that stays synchronized with text changes through incremental updates.
  • Source Code Editors - Processes source files into concrete syntax trees to provide structural information for text editors and analysis tools.
  • Syntax Grammar Managers - Enables the definition and management of formal language grammars for structural code analysis.
  • Language-Agnostic Runtimes - Provides a unified execution environment that allows host applications to integrate diverse language parsers through a consistent native interface.
  • Error Recovery - Maintains valid syntax tree structures even when encountering incomplete or malformed source code during parsing.
  • Error-Resilient Parsers - Maintains structural integrity and produces useful syntax tree results even when source files contain syntax errors or incomplete code.
  • Syntax Tree Construction - Constructs valid and usable syntax tree structures even when source code contains syntax errors or incomplete fragments.
  • Cross-Language Parsing Integrations - Connects language-agnostic parsing engines to applications written in different programming languages to enable consistent structural analysis.
  • Code Analysis Tools - Maintains functional syntax trees and structural insights even when source code contains syntax errors.
  • Generalized LR Parsers - Uses a flexible parsing algorithm that handles ambiguous grammars by exploring multiple potential paths simultaneously.
  • Syntax Highlighting Engines - Powers responsive syntax highlighting engines that update in real-time as code is modified.
  • Parser Bindings - Connects custom parsing logic to host applications using native interfaces to embed complex data processing capabilities.
  • Language Servers - Facilitates the implementation of language-aware development tools through high-performance structural analysis.
  • Grammar Validation Tools - Validates grammar definitions by running them against source code samples to ensure the parser correctly identifies syntax structures.

Star history

Star history chart for tree-sitter/tree-sitterStar history chart for tree-sitter/tree-sitter

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does tree-sitter/tree-sitter do?

Tree-sitter is a parsing system and incremental parsing framework designed to generate high-performance syntax trees from source code. It functions as a language parsing engine that compiles formal grammar definitions into portable code, which can then be integrated into text editors and development tools to facilitate structural analysis, code navigation, and syntax highlighting.

What are the main features of tree-sitter/tree-sitter?

The main features of tree-sitter/tree-sitter are: Compilers, Parser Generators, Incremental Parsers, Syntax Parsing Engines, Abstract Syntax Tree Generators, Parsing Recovery, Syntax Parsers, Syntax Query Definitions.

Which projects share features with tree-sitter/tree-sitter?

Projects with overlapping indexed features include: helix-editor/helix — Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a… dotnet/roslyn — The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code… kach/nearley — Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator… pulsar-edit/pulsar — Pulsar is a cross-platform, extensible text editor designed for source code management and plain text editing. It… nvim-treesitter/nvim-treesitter — This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It… ohmjs/ohm — Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining…

Projects sharing features with Tree Sitter

These projects share indexed features with Tree Sitter. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • helix-editor/helixhelix-editor avatar

    helix-editor/helix

    44,911View on GitHub↗

    Helix is a terminal-based modal text editor designed for efficient code manipulation and navigation. It centers on a selection-first editing model, where operations are performed on active ranges rather than individual cursor positions, allowing for precise control over text and code structures. The editor distinguishes itself through deep integration with structural parsing and language intelligence. By utilizing an incremental parsing library, it builds concrete syntax trees that enable advanced features like structural code navigation, intelligent indentation, and syntax-aware text object

    Rustkakounerusttext-editor
    View on GitHub↗44,911
  • dotnet/roslyndotnet avatar

    dotnet/roslyn

    20,241View on GitHub↗

    The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models. The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback dur

    C#csharphacktoberfestroslyn
    View on GitHub↗20,241
  • kach/nearleykach avatar

    kach/nearley

    3,740View on GitHub↗

    Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator that transforms BNF-like grammar definitions into executable code capable of analyzing text and generating abstract syntax trees. The project is distinguished by its ability to handle any context-free grammar, including those with left recursion and ambiguity, by maintaining multiple valid derivations for a single input. It further supports incremental parsing, allowing input strings to be processed in chunks to provide partial results and real-time feedback. Beyond core parsi

    JavaScript
    View on GitHub↗3,740
  • pulsar-edit/pulsarpulsar-edit avatar

    pulsar-edit/pulsar

    3,940View on GitHub↗

    Pulsar is a cross-platform, extensible text editor designed for source code management and plain text editing. It functions as a plugin-based development environment that allows for the creation of a personalized workspace through deep configuration of language settings, visual styles, and keyboard shortcuts. The editor is characterized by its extensibility, supporting the integration of third-party extension packages to add specialized features and custom toolsets. Users can modify the interface via visual theme customization and build tailored workflows using a framework for custom developm

    JavaScriptelectronjavascriptpulsar
    View on GitHub↗3,940
Compare all 30 related projects→