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
·
antlr avatar

antlr/antlr4

0
View on GitHub↗
18,928 stele·3,456 fork-uri·Java·BSD-3-Clause·15 vizualizăriantlr.org↗

Antlr4

ANTLR este un generator de cod bazat pe gramatică și un generator de parser pentru mai multe limbaje, utilizat pentru a proiecta și implementa limbaje personalizate. Funcționează ca un set de instrumente pentru transformarea definițiilor formale de limbaj în cod sursă executabil pentru procesarea textului structurat sau a fișierelor binare, oferind în același timp un framework pentru construirea și parcurgerea automată a arborilor de parsare ierarhici.

Proiectul se distinge prin capacitatea sa de a genera lexere și parsere în diverse limbaje de programare țintă dintr-o singură definiție de gramatică partajată. Suportă gramatici care conțin recursivitate la stânga directă și utilizează predicția adaptivă pentru a optimiza viteza de parsare, menținând în același timp flexibilitatea.

Sistemul acoperă o gamă largă de capabilități, inclusiv analiza lexicală, verificarea semantică prin evaluarea predicatelor și gestionarea ierarhică a datelor. Oferă instrumente pentru analiza arborilor de parsare prin interogări bazate pe cale și tipare de parcurgere de tip visitor-listener pentru a decupla logica gramaticii de acțiunile aplicației.

Utilitarele de linie de comandă sunt disponibile pentru testarea definițiilor de gramatică și depanarea logicii, iar instrumentul poate fi executat în containere Docker pentru a evita instalările locale.

Features

  • Formal Grammar Parser Generators - Provides a formal grammar parser generator that creates parsers capable of handling various grammar types.
  • Multi-Language Parser Generation - Generates lexer and parser source code for multiple target programming languages from a single grammar definition.
  • Parse Tree Frameworks - Provides a framework for automatically constructing and traversing hierarchical tree representations of input text.
  • Lexical Analyzers - Provides a high-performance engine that breaks input text into tokens based on defined lexical rules.
  • Adaptive Prediction Caches - Implements adaptive prediction caches to optimize lookahead decisions during the parsing process.
  • Programming Language Development - Facilitates the development of compilers and interpreters by generating parsers from formal grammars.
  • Domain Specific Languages - Enables the design and implementation of custom domain-specific languages using formal grammar specifications.
  • Design Toolkits - Provides a comprehensive toolkit for designing and implementing custom languages through automated code generation.
  • Automatic Concrete Syntax Tree Construction - Automatically generates full concrete syntax trees that reflect the exact structure of the input text.
  • Tree Traversal - Provides visitor and listener interfaces to decouple grammar logic from application actions during tree traversal.
  • Syntax Tree Construction - Automatically constructs hierarchical syntax trees by mapping matched grammar rules to the input text.
  • Multi-Target Code Generation - Produces lexer and parser source code for multiple target programming languages from a single shared grammar.
  • Grammar Debugging Tools - Provides tools for tracing parser decisions and token streams to debug and verify grammar behavior.
  • Data Parsing - Converts complex text or binary data into machine-readable formats using a defined set of language rules.
  • Left-Recursive Grammar Parsing - Supports grammars with direct left recursion, allowing natural expression of recursive structures like arithmetic.
  • Syntactic Validation - Validates input against custom logic and rules during the parsing process to identify non-syntactic errors.
  • Event Listeners - Triggers specific method calls when phrases are recognized during a walk of the parse tree.
  • Adaptive Prediction Optimizations - Increases processing speed by attempting a fast prediction mode before falling back to linear approximation.
  • Left Recursion Resolution - Resolves direct left recursion in grammar rules to prevent infinite loops while preserving natural expression syntax.
  • Parse Tree Querying - Enables extraction of structured information from parse trees using path-based querying expressions.
  • Semantic Predicates - Executes boolean semantic predicates during parsing to constrain rule matching based on the current runtime context.
  • Grammar Validation Tools - Offers utilities to test and validate grammar definitions by outputting parse trees and token streams.
  • AST & Language Tools - Powerful parser generator for structured text.
  • Build Systems and Compilers - Parser generator for reading and processing structured text.
  • Parser Grammars - The core engine used to process and execute the provided grammars.

Istoric stele

Graficul istoricului de stele pentru antlr/antlr4Graficul istoricului de stele pentru antlr/antlr4

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 Antlr4

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Antlr4.
  • 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
  • pegjs/pegjsAvatar pegjs

    pegjs/pegjs

    4,908Vezi pe GitHub↗

    PegJS is a parsing expression grammar tool and JavaScript parser generator. It functions as a grammar compiler that transforms formal grammar specifications into executable JavaScript code for analyzing structured text and processing complex input strings. The system generates deterministic parsers that avoid the ambiguity of context-free grammars. It utilizes a packrat parsing model with memoization to ensure linear time complexity and employs recursive descent parsing to process input in a top-down hierarchical manner. The toolset supports the implementation of domain-specific languages an

    JavaScript
    Vezi pe GitHub↗4,908
  • 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
  • pest-parser/pestAvatar pest-parser

    pest-parser/pest

    5,355Vezi pe GitHub↗

    Pest is a Rust parsing library and automatic parser generator that transforms formal grammar definitions into functional parsers. It specializes in Parsing Expression Grammar to recognize and structure complex text patterns, providing a system for context-free grammar parsing. The library implements zero-copy tokenization and static grammar compilation to reduce runtime overhead. It supports no-std runtime compatibility, allowing the parser to be compiled for embedded or bare-metal environments where a standard library is unavailable. The project covers a range of parsing capabilities, inclu

    Rust
    Vezi pe GitHub↗5,355
Vezi toate cele 30 alternative pentru Antlr4→

Întrebări frecvente

Ce face antlr/antlr4?

ANTLR este un generator de cod bazat pe gramatică și un generator de parser pentru mai multe limbaje, utilizat pentru a proiecta și implementa limbaje personalizate. Funcționează ca un set de instrumente pentru transformarea definițiilor formale de limbaj în cod sursă executabil pentru procesarea textului structurat sau a fișierelor binare, oferind în același timp un framework pentru construirea și parcurgerea automată a arborilor de parsare ierarhici.

Care sunt principalele funcționalități ale antlr/antlr4?

Principalele funcționalități ale antlr/antlr4 sunt: Formal Grammar Parser Generators, Multi-Language Parser Generation, Parse Tree Frameworks, Lexical Analyzers, Adaptive Prediction Caches, Programming Language Development, Domain Specific Languages, Design Toolkits.

Care sunt câteva alternative open-source pentru antlr/antlr4?

Alternativele open-source pentru antlr/antlr4 includ: kach/nearley — Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator… pegjs/pegjs — PegJS is a parsing expression grammar tool and JavaScript parser generator. It functions as a grammar compiler that… ohmjs/ohm — Ohm is a formal grammar parser generator and domain-specific language framework. It provides a system for defining… pest-parser/pest — Pest is a Rust parsing library and automatic parser generator that transforms formal grammar definitions into… zaach/jison — Jison is a JavaScript parser generator that implements the LALR parsing algorithm. It creates tools to analyze custom… alecthomas/participle — Participle is a Go parser generator and toolkit for building language frontends. It provides a declarative grammar…