awesome-repositories.com
Blog
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
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Language definition files

Clasament actualizat la 23 iul. 2026

For language definition files, the strongest matches are lark-parser/lark (Lark is a Python parsing toolkit that supports grammar), geal/nom (Nom is a Rust-based parser combinator framework that supports) and antlr/antlr4 (ANTLR provides a comprehensive grammar definition and parser generator). ast-grep/ast-grep and tree-sitter/tree-sitter round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

The best open-source language definition files on GitHub, ranked by stars and activity. Compare the top repositories and pick the right one.

Language definition files

Găsește cele mai bune repo-uri cu AI.Vom căuta cele mai potrivite repository-uri folosind AI.
  • lark-parser/larkAvatar lark-parser

    lark-parser/lark

    5,914Vezi pe GitHub↗

    Lark is a Python parsing toolkit used to define grammars and convert raw text into annotated parse trees. It serves as an abstract syntax tree generator and a grammar definition language for specifying language rules through terminals and regular expressions. The library provides two primary parsing implementations: an Earley parsing library capable of handling all context-free languages, including those with ambiguity and left-recursion, and a high-performance LALR parsing library designed for deterministic languages with low memory overhead. Beyond core parsing, the toolkit includes capabi

    Lark is a Python parsing toolkit that supports grammar definition, lexical analysis, and AST generation using Earley and LALR algorithms, fulfilling the core requirements for working with programming language grammars.

    PythonAST GeneratorsAST Generators
    Vezi pe GitHub↗5,914
  • geal/nomAvatar Geal

    Geal/nom

    10,422Vezi pe GitHub↗

    nom is a Rust parser combinator framework used to build complex parsers for binary and text data. It functions as an abstract syntax tree generator and a bit-level binary parser, allowing users to construct structured data by combining small, reusable parsing functions. The framework provides specialized support for zero-copy binary parsing, extracting data as slices from raw byte arrays to avoid memory allocations. It also includes a streaming data parser capable of processing partial input chunks from networks or files and signaling when additional input is required. The project covers a b

    Nom is a Rust-based parser combinator framework that supports grammar definition and AST building through composable functions, fitting the parsing aspects of the search while omitting syntax highlighting.

    RustParser CombinatorsParser Combinator Frameworks
    Vezi pe GitHub↗10,422
  • antlr/antlr4Avatar antlr

    antlr/antlr4

    18,928Vezi pe GitHub↗

    ANTLR is a grammar-based code generator and multi-language parser generator used to design and implement custom languages. It functions as a toolkit for transforming formal language definitions into executable source code for processing structured text or binary files, while providing a framework for automatically constructing and traversing hierarchical parse trees. The project is distinguished by its ability to generate lexers and parsers in various target programming languages from a single shared grammar definition. It supports grammars containing direct left recursion and utilizes adapti

    ANTLR provides a comprehensive grammar definition and parser generator toolset that supports lexical analysis, AST construction, and multi-language target generation, which directly addresses your language processing needs.

    JavaParse Tree FrameworksParser Grammars
    Vezi pe GitHub↗18,928
  • ast-grep/ast-grepAvatar ast-grep

    ast-grep/ast-grep

    12,522Vezi pe GitHub↗

    ast-grep is a command-line utility and static analysis engine designed for searching, linting, and refactoring source code. It operates by identifying and transforming code blocks based on their underlying syntactic structure rather than relying on text-based or regular expression matching. The tool utilizes a language-agnostic abstraction to normalize diverse programming grammars into a unified tree structure. By employing a rule-driven engine, it allows users to define complex patterns that capture syntax nodes as variables, enabling consistent and syntactically valid modifications across e

    It is an AST-based static analysis and structural code search tool rather than a general-purpose grammar definition or highlighting library, but it natively parses code into Abstract Syntax Trees and uses AST patterns for matching.

    RustAbstract Syntax Tree Tools
    Vezi pe GitHub↗12,522
  • tree-sitter/tree-sitterAvatar tree-sitter

    tree-sitter/tree-sitter

    23,848Vezi pe GitHub↗

    Tree-sitter is a parsing system and incremental parsing framework designed to generate high-performance syntax trees from source code. It functions as a language parsing engine that compiles formal grammar definitions into portable code, which can then be integrated into text editors and development tools to facilitate structural analysis, code navigation, and syntax highlighting. The project distinguishes itself through its ability to maintain valid, usable syntax tree structures even when source code contains syntax errors or incomplete fragments. It utilizes a generalized parsing algorithm

    Tree-sitter is a comprehensive parsing system and incremental parsing framework that directly delivers grammar definition, syntax highlighting, lexical analysis, and concrete syntax tree generation.

    RustSyntax Highlighting Engines
    Vezi pe GitHub↗23,848
  • zesterer/chumskyAvatar zesterer

    zesterer/chumsky

    4,545Vezi pe GitHub↗

    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

    Chumsky is a high-performance parser combinator library for Rust that supports defining complex grammars and error recovery, though it does not provide built-in syntax highlighting.

    RustParser Combinators
    Vezi pe GitHub↗4,545
  • alecthomas/participleAvatar alecthomas

    alecthomas/participle

    3,869Vezi pe 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-

    Participle is a Go parser library and toolkit that builds language frontends and generates Abstract Syntax Trees using struct tags, fitting the grammar definition and parsing requirements well.

    GoLexer GeneratorsStateful Lexers
    Vezi pe GitHub↗3,869
  • javaparser/javaparserAvatar javaparser

    javaparser/javaparser

    6,053Vezi pe GitHub↗

    JavaParser is a library that parses Java source code up to version 12 into an Abstract Syntax Tree (AST), enabling programmatic analysis, transformation, and generation of Java code. It serves as a parser, code analyzer, code generator, comment parser, and symbol resolver, providing a unified toolkit for working with Java source at the AST level. The library distinguishes itself through several integrated capabilities that go beyond basic parsing. It includes a symbol resolution engine that resolves type and symbol references across files for accurate semantic analysis, and an error-recovery

    JavaParser is a robust Java source code parser and AST analysis library that covers grammar definition and AST generation, though it is scoped specifically to Java rather than general multi-language syntax highlighting and parsing.

    JavaAbstract Syntax Tree ToolsAST Traversal Engines
    Vezi pe GitHub↗6,053
  • github/semanticAvatar github

    github/semantic

    9,041Vezi pe GitHub↗

    Semantic is a Haskell-based library and command-line tool designed for polyglot source code analysis. It functions as a static program analysis framework and a polyglot abstract syntax tree parser that converts multiple programming languages into structured syntax trees based on grammar definitions. The system distinguishes itself through a semantic code comparison engine that detects structural and meaningful changes between code versions rather than relying on textual differences. It further enables analysis across different programming syntaxes by translating surface languages into a unifi

    Semantic provides a robust Haskell-based framework for parsing multiple programming languages into abstract syntax trees and performing code analysis, though it focuses more on static analysis and diffing than general-purpose grammar definition or parsing combinators.

    HaskellAST GeneratorsTyped Abstract Syntax Trees
    Vezi pe GitHub↗9,041
  • tree-sitter-grammars/tree-sitter-markdownAvatar tree-sitter-grammars

    tree-sitter-grammars/tree-sitter-markdown

    555Vezi pe GitHub↗

    Tree-sitter-markdown is a parsing library that analyzes plain text Markdown documents to generate a concrete syntax tree for editors and syntax highlighters. It functions as a code editor parsing grammar and a markdown syntax tree generator, converting markup text into structured nodes representing headings, lists, links, and text formatting. The library uses an incremental LR parsing engine to process source text and maintain the syntax tree efficiently during edits. It relies on context-aware lexing to switch tokenization rules dynamically based on the current parser state, alongside compi

    This repository provides a concrete grammar definition and parser for Markdown using the Tree-sitter parsing system, making it a targeted building block for processing this specific language.

    CIncremental Syntax Tree UpdatersAutomatic Concrete Syntax Tree ConstructionContext-Aware Lexers
    Vezi pe GitHub↗555
  • whitequark/parserAvatar whitequark

    whitequark/parser

    1,642Vezi pe GitHub↗

    Parser is a Ruby source code parser that converts raw source text into structured abstract syntax trees for static analysis and code manipulation. It features dynamic dispatch mechanisms that select specific grammar and tokeniser implementations at runtime, supporting both the executing interpreter version and explicitly targeted language specification versions. The library constructs abstract syntax tree nodes as frozen, immutable objects while tracking exact source file coordinates and character ranges for each node. Developers can supply custom builder objects to control how tree nodes ar

    This repository provides a Ruby parser capable of concrete and abstract syntax tree generation, making it a fitting tool for parsing and lexical analysis despite lacking grammar definition and syntax highlighting features.

    YaccRuby Source Code ParsersAbstract Syntax Tree GeneratorsImmutable Nodes
    Vezi pe GitHub↗1,642
Compară top 10 dintr-o privire
RepositorySteleLimbajLicențăUltimul push
lark-parser/lark5.9KPythonMIT7 iun. 2026
geal/nom10.4KRustMIT26 aug. 2025
antlr/antlr418.9KJavaBSD-3-Clause16 feb. 2026
ast-grep/ast-grep12.5KRustmit20 feb. 2026
tree-sitter/tree-sitter23.8KRustmit20 feb. 2026
zesterer/chumsky4.5KRustMIT27 mar. 2026
alecthomas/participle3.9KGoMIT23 iun. 2026
javaparser/javaparser6.1KJavaother21 feb. 2026
github/semantic9KHaskell—1 apr. 2025
tree-sitter-grammars/tree-sitter-markdown555Cmit17 feb. 2026

Related searches

  • un limbaj de programare pentru dezvoltarea de aplicații web
  • a programming language for building software applications
  • Resurse și cărți specifice limbajelor de programare
  • proiect pentru învățarea designului de limbaje de programare
  • a library for parsing programming languages
  • NLP datasets
  • un ghid cuprinzător pentru limbaje de programare
  • Multilingual prompt directory