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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
lark-parser avatar

lark-parser/lark

0
View on GitHub↗
5,914 stele·484 fork-uri·Python·MIT·10 vizualizări

Lark

Lark este un toolkit de parsare Python utilizat pentru a defini gramatici și a converti textul brut în arbori de parsare adnotați. Servește drept generator de arbori de sintaxă abstractă și un limbaj de definire a gramaticii pentru specificarea regulilor limbajului prin terminale și expresii regulate.

Biblioteca oferă două implementări principale de parsare: o bibliotecă de parsare Earley capabilă să gestioneze toate limbajele context-free, inclusiv cele cu ambiguitate și recursivitate la stânga, și o bibliotecă de parsare LALR de înaltă performanță concepută pentru limbaje deterministe cu un consum redus de memorie.

Dincolo de parsarea de bază, toolkit-ul include capabilități pentru compoziția gramaticală modulară, transformarea arborilor bazată pe reguli și urmărirea coordonatelor pentru pozițiile sursă. De asemenea, suportă serializarea gramaticilor LALR în module de parsare independente.

Features

  • Parsing Toolkits - Provides a comprehensive suite of parsing algorithms and grammar definition tools for transforming raw text into structured parse trees.
  • AST Generators - Acts as a toolkit for transforming raw input text into hierarchical abstract syntax trees based on predefined grammars.
  • Parsing and Grammars - Converts raw text into annotated parse trees based on user-defined grammar rules.
  • Custom Language Definitions - Enables the definition of custom language structures using grammar rules and regular expressions.
  • Grammar Rule Specification - Allows users to define the structure of a language using a high-level syntax for recursive rules and regular expressions.
  • Context-Free Grammar Frameworks - Implements a framework capable of parsing all context-free languages, including those with ambiguity and left-recursion.
  • Formal Grammar Specifications - Allows the definition of recursive rules and terminals using extended Backus-Naur Form (EBNF) syntax.
  • Annotated Parse Trees - Transforms raw text into hierarchical parse trees annotated with grammar rule matches and source positions.
  • Abstract Syntax Tree Parsing - Automatically generates a hierarchical tree representation of the input text based on the defined grammar.
  • Concrete Parse Tree Generation - Automatically builds full, annotated hierarchical parse trees based on the specified grammar structure.
  • AST Generators - Automatically generates hierarchical abstract syntax trees by matching input tokens against defined grammar rules.
  • LALR Parsers - Implements a high-performance LALR parser using look-ahead left-to-right shift-reduce algorithms for deterministic languages.
  • Earley Parser Implementations - Implements the Earley parsing algorithm to support all context-free languages, including those with left-recursion.
  • Earley Parsers - Implements the Earley parsing algorithm to handle all context-free grammars, including those with ambiguity and left-recursion.
  • Interactive Grammar Debugging - Offers tools to design and debug language grammars by inspecting parser decisions interactively.
  • Ambiguity Management - Supports marking multiple valid interpretations of a single input string when using the Earley parsing algorithm.
  • High-Performance Text Processing - Uses LALR algorithms to process large volumes of text with high efficiency and low memory usage.
  • Grammar Compositions - Provides the ability to import terminals and rules from multiple external grammar files to build complex parsing logic.
  • Domain Specific Language Parsers - Provides tools to build specialized parsers for custom data formats and complex recursive configuration languages.
  • Parsing Optimizations - Implements high-performance LALR parsing to increase execution speed and reduce memory overhead.
  • Source Coordinate Tracking - Provides line and column offset tracking for tokens to map parse tree nodes back to the original source code.
  • Standalone Parser Generators - Compiles LALR grammars into self-contained parser modules to remove dependencies on the full toolkit.
  • Coordinate Tracking - Tracks line and column numbers for every element in the parse tree to facilitate precise error reporting and debugging.
  • Grammar Extensions - Imports terminals and rules from external libraries to reuse common language patterns within a grammar.
  • Grammar Compositions - Supports importing and combining separate grammar definitions to build complex languages from reusable components.
  • Syntax Tree Transformers - Uses a visitor-pattern mechanism to transform parse trees into custom data structures via specific grammar branch mappings.

Istoric stele

Graficul istoricului de stele pentru lark-parser/larkGraficul istoricului de stele pentru lark-parser/lark

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Lark

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Lark.
  • ohmjs/ohmAvatar ohmjs

    ohmjs/ohm

    5,471Vezi pe GitHub↗

    Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining custom languages to parse, validate, and extract data from input text, transforming raw strings into hierarchical abstract syntax trees based on specified formal rules. The project utilizes an Earley parsing algorithm, which allows it to support all context-free grammars, including those with left recursion and ambiguity, without requiring predefined operator precedence. It also includes a dedicated debugging toolkit for tracing and visualizing the step-by-step state transitions

    JavaScriptcompilergrammarsjavascript
    Vezi pe GitHub↗5,471
  • hardmath123/nearleyAvatar Hardmath123

    Hardmath123/nearley

    3,740Vezi pe GitHub↗

    Nearley is a JavaScript parser toolkit used to define context-free grammars and generate corresponding parsers. It features an EBNF grammar compiler that transforms language definitions written in extended Backus-Naur Form into executable JavaScript code, utilizing an Earley parser implementation to process any context-free grammar. The toolkit distinguishes itself by its ability to handle left-recursion and ambiguity without failing, allowing it to identify and return multiple valid derivations for a single input string. It also includes a grammar fuzzing generator to produce random strings

    JavaScript
    Vezi pe GitHub↗3,740
  • kach/nearleyAvatar kach

    kach/nearley

    3,740Vezi pe 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
    Vezi pe GitHub↗3,740
  • harc/ohmAvatar harc

    harc/ohm

    5,530Vezi pe 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
    Vezi pe GitHub↗5,530
Vezi toate cele 30 alternative pentru Lark→

Întrebări frecvente

Ce face lark-parser/lark?

Lark este un toolkit de parsare Python utilizat pentru a defini gramatici și a converti textul brut în arbori de parsare adnotați. Servește drept generator de arbori de sintaxă abstractă și un limbaj de definire a gramaticii pentru specificarea regulilor limbajului prin terminale și expresii regulate.

Care sunt principalele funcționalități ale lark-parser/lark?

Principalele funcționalități ale lark-parser/lark sunt: Parsing Toolkits, AST Generators, Parsing and Grammars, Custom Language Definitions, Grammar Rule Specification, Context-Free Grammar Frameworks, Formal Grammar Specifications, Annotated Parse Trees.

Care sunt câteva alternative open-source pentru lark-parser/lark?

Alternativele open-source pentru lark-parser/lark includ: ohmjs/ohm — Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining… hardmath123/nearley — Nearley is a JavaScript parser toolkit used to define context-free grammars and generate corresponding parsers. It… kach/nearley — Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator… harc/ohm — Ohm is a compiler construction toolkit and parser combinator library used to build parsers, interpreters, and… commonmark/commonmark-spec — This project is a formal markdown specification standard that provides a detailed markup syntax definition and a… dtolnay/syn — syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development,…