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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
antlr avatar

antlr/antlr4

0
View on GitHub↗
18,928 Stars·3,456 Forks·Java·BSD-3-Clause·12 Aufrufeantlr.org↗

Antlr4

ANTLR ist ein grammatikbasierter Codegenerator und Parser-Generator für mehrere Sprachen, der zum Entwerfen und Implementieren benutzerdefinierter Sprachen verwendet wird. Er fungiert als Toolkit zur Transformation formaler Sprachdefinitionen in ausführbaren Quellcode für die Verarbeitung strukturierter Text- oder Binärdateien, während er gleichzeitig ein Framework für die automatische Konstruktion und Durchquerung hierarchischer Parse-Bäume bereitstellt.

Das Projekt zeichnet sich durch seine Fähigkeit aus, Lexer und Parser in verschiedenen Zielprogrammiersprachen aus einer einzigen gemeinsamen Grammatikdefinition zu generieren. Es unterstützt Grammatiken, die direkte Linksrekursion enthalten, und nutzt adaptive Vorhersagen, um die Parsing-Geschwindigkeit zu optimieren und gleichzeitig die Flexibilität zu wahren.

Das System deckt ein breites Spektrum an Fähigkeiten ab, einschließlich lexikalischer Analyse, semantischer Prüfung durch Prädikatsauswertung und hierarchischem Datenmanagement. Es bietet Tools für die Analyse von Parse-Bäumen durch pfadbasierte Abfragen und Visitor-Listener-Durchquerungsmuster, um die Grammatiklogik von Anwendungsaktionen zu entkoppeln.

Befehlszeilen-Dienstprogramme sind für das Testen von Grammatikdefinitionen und das Debuggen von Logik verfügbar, und das Tool kann in Docker-Containern ausgeführt werden, um lokale Installationen zu vermeiden.

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.

Star-Verlauf

Star-Verlauf für antlr/antlr4Star-Verlauf für antlr/antlr4

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht antlr/antlr4?

ANTLR ist ein grammatikbasierter Codegenerator und Parser-Generator für mehrere Sprachen, der zum Entwerfen und Implementieren benutzerdefinierter Sprachen verwendet wird. Er fungiert als Toolkit zur Transformation formaler Sprachdefinitionen in ausführbaren Quellcode für die Verarbeitung strukturierter Text- oder Binärdateien, während er gleichzeitig ein Framework für die automatische Konstruktion und Durchquerung hierarchischer Parse-Bäume bereitstellt.

Was sind die Hauptfunktionen von antlr/antlr4?

Die Hauptfunktionen von antlr/antlr4 sind: Formal Grammar Parser Generators, Multi-Language Parser Generation, Parse Tree Frameworks, Lexical Analyzers, Adaptive Prediction Caches, Programming Language Development, Domain Specific Languages, Design Toolkits.

Welche Open-Source-Alternativen gibt es zu antlr/antlr4?

Open-Source-Alternativen zu antlr/antlr4 sind unter anderem: 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…

Open-Source-Alternativen zu Antlr4

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Antlr4.
  • kach/nearleyAvatar von kach

    kach/nearley

    3,740Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,740
  • pegjs/pegjsAvatar von pegjs

    pegjs/pegjs

    4,908Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,908
  • ohmjs/ohmAvatar von ohmjs

    ohmjs/ohm

    5,471Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,471
  • pest-parser/pestAvatar von pest-parser

    pest-parser/pest

    5,355Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,355
  • Alle 30 Alternativen zu Antlr4 anzeigen→