awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
zesterer avatar

zesterer/chumskyArchived

0
View on GitHub↗
4,545 stars·208 forks·Rust·MIT·8 vuescodeberg.org/zesterer/chumsky↗

Chumsky

Chumsky is a parser combinator library used to build high-performance parsers by composing small parsing functions into complex grammars. It provides multiple parsing engines, including recursive descent and precedence-climbing implementations for resolving the order of operations in mathematical and logical expressions.

The library is distinguished by its zero-copy text parsing, which minimizes memory allocations to increase throughput, and its ability to run without a standard library for use in embedded or resource-constrained environments. It also features an error-recovering parser that identifies malformed input and resumes processing to report multiple syntax errors in a single pass.

The framework covers a broad range of capabilities, including context-sensitive state management, recursive grammar support, and the integration of regular expression patterns. It includes tools for parser structure analysis, node inspection, and result caching to support backtracking and left recursion.

The library supports the development of custom languages, data format parsing, and programming language tooling.

Features

  • Parser Combinators - Provides a functional parser combinator library for building complex grammars by composing small, reusable parsing functions.
  • Recursive Descent Parsers - Provides a recursive descent parsing engine that translates source code into syntax trees using recursive function calls.
  • Zero-Copy Parsing - Implements zero-copy parsing by returning slices of the original input buffer instead of allocating new memory for extracted text.
  • Environment Support Managers - Provides environment support that enables the library to run without a standard library in restricted systems.
  • No-Std Environment Adapters - Offers compatibility for environments without a standard library, enabling high-performance parsing in restricted or embedded systems.
  • Expression Order Resolution - Utilizes a precedence-climbing approach to resolve the order of operations in complex expressions.
  • Parsing Error Recovery - Provides mechanisms to recover from syntax errors by skipping invalid tokens and continuing to parse the input.
  • Data Formats and Parsing - Provides tools for parsing various structured data formats by combining regular expressions and logic-based combinators.
  • High-Performance Text Processing - Enables high-performance text processing optimized for low memory and high throughput in resource-constrained environments.
  • Token-Based Stream Parsing - Converts character-based input streams into typed tokens using specialized stream extensions.
  • Programming Language Development - Serves as a framework for programming language development, supporting the creation of compilers and interpreters.
  • Regex-Combinator Integrations - Combines regular expression patterns with combinators to recognize flexible text patterns within a larger grammar.
  • Memoization Caches - Utilizes memoization caches to store previous parsing results, eliminating redundant computations and supporting left-recursive grammars.
  • Operator Precedence Management - Implements operator precedence management to resolve the correct order of operations in complex mathematical and logical expressions.
  • Parser Result Memoization - Stores expensive lookup results to speed up backtracking and support the processing of left-recursive grammars.
  • Parsing Contexts - Supports context-sensitive parsing by tracking external state, enabling the handling of syntaxes like semantic indentation.
  • Error-Resilient Parsers - Implements an error-resilient parsing engine that maintains structural integrity when encountering malformed input.
  • Custom Parser Development - Supports the development of custom parsers by defining formal grammars to derive structured representations of text.

Historique des stars

Graphique de l'historique des stars pour zesterer/chumskyGraphique de l'historique des stars pour zesterer/chumsky

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait zesterer/chumsky ?

Chumsky is a parser combinator library used to build high-performance parsers by composing small parsing functions into complex grammars. It provides multiple parsing engines, including recursive descent and precedence-climbing implementations for resolving the order of operations in mathematical and logical expressions.

Quelles sont les fonctionnalités principales de zesterer/chumsky ?

Les fonctionnalités principales de zesterer/chumsky sont : Parser Combinators, Recursive Descent Parsers, Zero-Copy Parsing, Environment Support Managers, No-Std Environment Adapters, Expression Order Resolution, Parsing Error Recovery, Data Formats and Parsing.

Quelles sont les alternatives open-source à zesterer/chumsky ?

Les alternatives open-source à zesterer/chumsky incluent : rust-bakery/nom — nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing… harc/ohm — Ohm is a compiler construction toolkit and parser combinator library used to build parsers, interpreters, and… dullabs/bhai-lang — Bhai-lang is a TypeScript-based toy programming language and custom syntax interpreter. It functions as an educational… alecthomas/participle — Participle is a Go parser generator and toolkit for building language frontends. It provides a declarative grammar… pegjs/pegjs — PegJS is a parsing expression grammar tool and JavaScript parser generator. It functions as a grammar compiler that… pest-parser/pest — Pest is a Rust parsing library and automatic parser generator that transforms formal grammar definitions into…

Alternatives open source à Chumsky

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Chumsky.
  • rust-bakery/nomAvatar de rust-bakery

    rust-bakery/nom

    10,426Voir sur GitHub↗

    nom is a parser combinator framework for Rust used to build complex parsers by combining small, reusable parsing functions. It functions as a zero-copy parsing tool that minimizes memory overhead by returning slices of the original input instead of allocating new memory. The framework is designed for diverse data formats, serving as a binary data parser with configurable endianness and a bitstream processing library capable of extracting values of arbitrary bit length. It also functions as a streaming data parser that can process data arriving in chunks and signal when additional input is req

    Rustbyte-arraygrammarnom
    Voir sur GitHub↗10,426
  • harc/ohmAvatar de harc

    harc/ohm

    5,530Voir sur GitHub↗

    Ohm is a compiler construction toolkit and parser combinator library used to build parsers, interpreters, and compilers. It provides a formal grammar language for specifying the structural rules of data formats to ensure precise parsing of input strings. The project functions as a parsing debugging tool and program execution visualizer. It generates text traces and graphical visualizations to show the step-by-step logic used during parsing and renders runtime state changes and method call hierarchies. The toolkit covers custom parser development and the construction of compilers and interpre

    JavaScript
    Voir sur GitHub↗5,530
  • dullabs/bhai-langAvatar de DulLabs

    DulLabs/bhai-lang

    4,100Voir sur GitHub↗

    Bhai-lang is a TypeScript-based toy programming language and custom syntax interpreter. It functions as an educational language implementation designed to demonstrate core concepts of variable management, conditional logic, and execution flow. The project provides a custom command line interface and an interactive code playground for writing and testing scripts. It serves as a framework for programming language prototyping, allowing for the definition of custom syntax and execution logic. The system covers the full interpreter pipeline, including lexical analysis, recursive descent parsing,

    TypeScriptinterpreterjavascriptparser
    Voir sur GitHub↗4,100
  • alecthomas/participleAvatar de alecthomas

    alecthomas/participle

    3,869Voir sur GitHub↗

    Participle is a Go parser generator and toolkit for building language frontends. It provides a declarative grammar framework that uses reflection and struct tags to map input patterns directly into typed data structures. The library features a stateful lexical analyzer that employs state machines to handle nested or modal patterns. It includes a lexer code generator to produce optimized code, reducing runtime memory allocations and increasing throughput. The project covers recursive descent parsing with support for union types via sealed interfaces and custom parsing logic through interface-

    Goastebnfgo
    Voir sur GitHub↗3,869
  • Voir les 30 alternatives à Chumsky→