Rust-sitter: Define your entire tree-sitter grammar on idiomatic Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • tree-sitter-c2rust

    A fork of Tree Sitter with a pure Rust runtime for WASM support

  • Yes! Right now, the main benefits are the ability to write grammar definitions that are quite close to the ideal AST structure (made possible by Tree Sitter's grammar format), and being able to embed the parser in many different applications (including WASM via https://github.com/shadaj/tree-sitter-c2rust). Rust Sitter also gives quite nice error diagnostics with spans thanks to Tree Sitter's recovery logic.

    Fallible parsing is something I plan to implement in the very near future, by letting users wrap types in `Result` to mark them as an error boundary. Incremental parsing is a bit more difficult, since we'll need to add logic to know when an existing AST struct can be reused, but is on the roadmap.

  • rust-sitter

    Use Tree Sitter to parse your own languages in Rust

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nvim-treesitter

    Nvim Treesitter configurations and abstraction layer

  • I would like to delve into the compatibility with tree-sitter, since in other features tree-sitter being under the hood is mostly an implementation detail:

    If I were to write my parser using rust-sitter, would I be able to still generate the final standalone tree-sitter parser as a `.so`? That way I could integrate with tools supporting tree-sitter parsers (for instance https://github.com/nvim-treesitter/nvim-treesitter#language-...) without having to write the `.js` grammar?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Help needed with Treesitter sql injection

    1 project | /r/neovim | 7 Dec 2023
  • Problem with highlighting when attempting to create own treesitter parser

    2 projects | /r/neovim | 5 Dec 2023
  • Getting Treesitter to work for Windows 10

    1 project | /r/neovim | 19 Nov 2023
  • Just come back up out of the rabbit hole - TS unsets syntax variable by design!

    1 project | /r/neovim | 15 Aug 2023
  • nvim-treesitter erroring on Windows 11 Pro

    1 project | /r/neovim | 5 Jul 2023