awesome-repositories.com
Blog
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
·

18 Repos

Awesome GitHub RepositoriesAbstract Syntax Tree Specifications

Standardized structures for representing source code syntax in a tree format for analysis.

Distinguishing note: Focuses on the structural specification of syntax trees rather than the parsing logic itself.

Explore 18 awesome GitHub repositories matching software engineering & architecture · Abstract Syntax Tree Specifications. Refine with filters or upvote what's useful.

Awesome Abstract Syntax Tree Specifications GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • eslint/eslintAvatar von eslint

    eslint/eslint

    27,349Auf GitHub ansehen↗

    This project is a static analysis engine designed to identify patterns, enforce coding standards, and automate code quality improvements in software projects. By parsing source code into structured abstract syntax trees, it enables deep programmatic inspection and the automated remediation of identified programming issues. The engine functions as a pluggable linting framework, allowing developers to extend its core capabilities through a modular architecture. Users can inject custom rules, parsers, and processors to support non-standard file formats or domain-specific logic. This extensibilit

    Implement tree structures following standard specifications, including location and range properties for every node to ensure compatibility with core analysis rules.

    JavaScriptecmascripteslintjavascript
    Auf GitHub ansehen↗27,349
  • biomejs/biomeAvatar von biomejs

    biomejs/biome

    23,741Auf GitHub ansehen↗

    Biome is a unified developer tooling suite that provides code formatting, linting, and static analysis for JavaScript and TypeScript projects. It functions as a command-line interface designed to automate the maintenance of code quality and style consistency throughout the development lifecycle. The tool distinguishes itself through a high-performance engine built in Rust, which utilizes a single-pass abstract syntax tree to perform formatting and linting simultaneously. By leveraging parallel multi-threaded execution and incremental file system caching, it minimizes latency during analysis t

    Utilizes a unified single-pass abstract syntax tree to perform linting and formatting simultaneously.

    Rustcssformatterjavascript
    Auf GitHub ansehen↗23,741
  • oracle/graalAvatar von oracle

    oracle/graal

    21,603Auf GitHub ansehen↗

    GraalVM is a polyglot virtual machine and high-performance runtime designed to execute multiple programming languages within a single environment. It functions as a JVM language toolkit for building language implementations, a native image compiler for transforming bytecode into standalone binaries, and an execution environment for LLVM bitcode and WebAssembly modules. The project is distinguished by its polyglot interoperability framework, which allows different languages to share data and execution state with low overhead. It utilizes self-modifying abstract syntax trees to optimize languag

    Uses self-modifying abstract syntax trees to optimize language interpreters into high-performance machine code.

    Javaaotcompilergraalvm
    Auf GitHub ansehen↗21,603
  • graphql/graphql-jsAvatar von graphql

    graphql/graphql-js

    20,397Auf GitHub ansehen↗

    This project is the JavaScript reference implementation of the GraphQL specification. It provides a query engine and schema parser designed to parse, validate, and execute queries to retrieve or mutate data based on a defined schema. The implementation includes a framework for mapping codebase structures to a strongly typed system and a tool for converting query strings into abstract syntax trees for programmatic analysis. The library covers the full surface of GraphQL API implementation, including schema definition, language parsing, and query validation. It provides the necessary infrastru

    Implements a recursive execution engine that traverses the query AST to resolve data.

    TypeScript
    Auf GitHub ansehen↗20,397
  • jetbrains/intellij-communityAvatar von JetBrains

    JetBrains/intellij-community

    19,724Auf GitHub ansehen↗

    The IntelliJ Platform is a modular framework designed for building desktop integrated development environments. It provides the core infrastructure necessary to create specialized coding tools, including a virtual file system for tracking project sources, a text editor, and a cross-platform graphical user interface framework. The platform distinguishes itself through a component-based architecture that allows developers to extend core application behavior via independent functional units. It supports the creation of custom development environments by integrating language analysis logic, enabl

    Provides a persistent database of code structures for rapid navigation and cross-referencing across large projects.

    Javacode-editorideintellij
    Auf GitHub ansehen↗19,724
  • nikic/php-parserAvatar von nikic

    nikic/PHP-Parser

    17,437Auf GitHub ansehen↗

    PHP-Parser is a tool that converts PHP source code into an abstract syntax tree for static analysis and programmatic manipulation. It functions as a parser, a code generator, and a static analysis framework. The project enables the programmatic construction of abstract syntax tree nodes through a fluent interface and provides the ability to transform these trees back into formatted source code. It includes a serializer that exports abstract syntax trees to JSON format and reconstructs them from strings. The toolset covers several capability areas, including namespace resolution, constant exp

    Provides a standardized internal representation of PHP source code as a hierarchy of linguistic construct nodes.

    PHP
    Auf GitHub ansehen↗17,437
  • java-decompiler/jd-guiAvatar von java-decompiler

    java-decompiler/jd-gui

    15,024Auf GitHub ansehen↗

    This project is a desktop application designed for the reverse engineering and inspection of compiled Java code. It functions as a graphical interface that translates Java bytecode back into readable source code, allowing users to examine the internal logic of class files and archives when original source files are unavailable. The tool provides a structured environment for navigating complex file hierarchies, including nested archives like JAR and WAR files. By maintaining an in-memory representation of loaded classes, it enables rapid searching and cross-referencing of code elements. The ap

    Constructs intermediate tree representations from bytecode to facilitate structural analysis and logical flow reconstruction.

    Java
    Auf GitHub ansehen↗15,024
  • webassembly/designAvatar von WebAssembly

    WebAssembly/design

    11,596Auf GitHub ansehen↗

    This repository contains the design specifications for WebAssembly, serving as a technical standard for portable low-level code. It defines the binary format, instruction set, and execution semantics required to ensure consistent behavior across different hardware platforms. The project establishes the framework for a language compilation target, detailing the requirements for translating high-level programming languages into a low-level binary format. It includes a security model that defines operational rules and safety goals for executing untrusted binary code. The specifications cover th

    Provides the formal structural specification for representing syntax trees used in the binary instruction set translation.

    Auf GitHub ansehen↗11,596
  • munificent/craftinginterpretersAvatar von munificent

    munificent/craftinginterpreters

    10,539Auf GitHub ansehen↗

    Crafting Interpreters is a comprehensive resource for building a complete programming language from scratch. It provides a structured guide to the fundamental components of language implementation, including lexing, parsing, and the design of execution engines. The project demonstrates two distinct approaches to language execution: a tree-walking interpreter that evaluates source code by traversing its abstract syntax structure, and a stack-based virtual machine that compiles code into custom bytecode for execution. These implementations are supported by core runtime mechanisms such as lexica

    Evaluates source code by traversing the abstract syntax tree directly to execute logic.

    HTMLbookbytecodec
    Auf GitHub ansehen↗10,539
  • wooorm/remarkAvatar von wooorm

    wooorm/remark

    8,923Auf GitHub ansehen↗

    Remark ist ein Markdown-Prozessor, der Markdown-Text in einen strukturierten JSON-Abstrakten Syntaxbaum (AST) für die programmatische Analyse und Transformation parst. Er fungiert als Markdown-AST-Parser und -Prozessor und nutzt ein Plugin-Framework zur Verwaltung erweiterbarer Syntax- und Transformationsregeln. Das Projekt ermöglicht benutzerdefinierte Markdown-Syntaxerweiterungen und Inhaltstransformationen durch ein Plugin-System, das das Hinzufügen von nicht-standardisiertem Markup und Metadaten erlaubt. Es enthält zudem einen Markdown-Linter, um Stil-Inkonsistenzen zu identifizieren und die Einhaltung von Schreibstandards sicherzustellen. Das Toolset deckt die Formatierung von Markdown-Dokumenten, die Konvertierung in HTML und die AST-Generierung ab. Eine Kommandozeilenschnittstelle wird bereitgestellt, um Markdown-Dateien auf eine konsistente projektweite Formatierung zu prüfen und diese anzupassen.

    Adheres to a standardized JSON schema for representing markdown syntax trees to ensure tool compatibility.

    JavaScript
    Auf GitHub ansehen↗8,923
  • robertkrimen/ottoAvatar von robertkrimen

    robertkrimen/otto

    8,439Auf GitHub ansehen↗

    Otto is a Go implementation of a JavaScript interpreter and embedded scripting engine. It provides a runtime environment for executing JavaScript code within native applications and includes a parser that converts source code into an abstract syntax tree for analysis and processing. The project enables the creation of custom scripting interfaces by binding native Go functions into the JavaScript global scope. It also includes a utility to translate JavaScript regular expression patterns into compatible formats for other programming languages. The engine supports safe script sandboxing throug

    Implements an execution engine that evaluates JavaScript by directly traversing its abstract syntax tree.

    Go
    Auf GitHub ansehen↗8,439
  • mobxjs/mobx-state-treeAvatar von mobxjs

    mobxjs/mobx-state-tree

    7,050Auf GitHub ansehen↗

    MobX State Tree is a structured, tree-based state management library for JavaScript applications that combines typed model definitions with reactive snapshots and patch-based change tracking. It provides a reactive state container with runtime and compile-time type safety, where application state is defined as a tree of typed models with collocated actions, computed views, and lifecycle hooks for predictable state mutations. The library is built around an action-centric mutation model that encapsulates all state changes within named functions that directly modify the tree, supported by genera

    Ships a walk function that visits every node in the state tree with a user-provided callback.

    TypeScripthacktoberfestmobxmobx-state-tree
    Auf GitHub ansehen↗7,050
  • cjex/regulexAvatar von CJex

    CJex/regulex

    5,836Auf GitHub ansehen↗

    Regulex is a tool that parses regular expressions into interactive syntax diagrams, rendering them directly on an HTML canvas. It converts a regex string into an abstract syntax tree and visualizes the structure as a navigable diagram, making the internal logic of a regular expression visually accessible. Beyond basic visualization, Regulex provides syntax validation that detects and reports precise errors, including invalid back references and octal escapes. It also offers a state-machine visualization mode that maps regex AST nodes to NFA-like states and transitions, rendered as a directed

    Evaluates regex behavior by walking the AST at runtime, simulating match execution.

    TypeScriptdiagramjavascriptregex
    Auf GitHub ansehen↗5,836
  • estree/estreeAvatar von estree

    estree/estree

    5,421Auf GitHub ansehen↗

    ESTree ist ein formales Schema und eine Reihe von Objektschnittstellen, die verwendet werden, um JavaScript-Quellcode als standardisierten abstrakten Syntaxbaum darzustellen. Es dient als gemeinsames Baumformat und Parser-Standard, um die Interoperabilität zwischen verschiedenen JavaScript-Parsern und Transformations-Tools sicherzustellen. Die Spezifikation bietet eine konsistente Möglichkeit, Sprachkonstrukte zu modellieren, einschließlich Statements, Ausdrücken und Moduldeklarationen. Sie enthält detaillierte Repräsentationen für moderne Sprachfunktionen wie Klassen, private Identifikatoren und Kurzschlusslogik wie Nullish Coalescing und Optional Chaining. Das Projekt deckt ein breites Spektrum an Sprach-Tooling ab, einschließlich der Modellierung von Modulsystemen mit dynamischen Importen und Export-Aliasing, der Handhabung großer Ganzzahl-Literale und der Unterstützung experimenteller Syntaxerweiterungen für Sprachvorschläge im Frühstadium. Zudem definiert es, wie Baumknoten auf ursprüngliche Quellkoordinaten für eine präzise Standortverfolgung abgebildet werden. Dieses standardisierte Modell erleichtert die statische Codeanalyse, die automatisierte Quellcode-Transformation und die allgemeine Interoperabilität von Compiler-Tools.

    Defines a formal standardized structure for representing JavaScript source code syntax in a tree format.

    astestreejavascript
    Auf GitHub ansehen↗5,421
  • lotabout/write-a-c-interpreterAvatar von lotabout

    lotabout/write-a-C-interpreter

    4,343Auf GitHub ansehen↗

    This project is a C language interpreter and a practical implementation of a programming language. It parses and executes C source code directly, removing the requirement for a separate compilation step. The interpreter is designed for self-hosting, meaning it is capable of interpreting its own source code to demonstrate recursive language processing and execution. The system covers the primary stages of language processing, including lexical analysis, recursive descent parsing, and tree-walk interpretation using an abstract syntax tree. It manages memory and scope through a dynamic symbol t

    Evaluates programs by walking an abstract syntax tree at runtime, managing memory and scope through a dynamic symbol table.

    C
    Auf GitHub ansehen↗4,343
  • uber/nullawayAvatar von uber

    uber/NullAway

    4,064Auf GitHub ansehen↗

    NullAway ist ein statisches Analysetool für Java und ein Build-Time-Detektor, der darauf ausgelegt ist, Null-Pointer-Risiken zu identifizieren. Es fungiert als Nullability-Checker, der Annotationen verwendet, um zu verifizieren, dass Referenzen nicht null sind, bevor sie dereferenziert werden, wodurch Laufzeitabstürze verhindert werden. Der Analysator implementiert den JSpecify-Standard, um konsistente Nullability-Annotationen über verschiedene Java-Bibliotheken hinweg sicherzustellen. Er zeichnet sich durch die Verwendung eines Service-Provider-Interfaces aus, um das Nullability-Verhalten von Drittanbieter-Bibliotheken ohne Quellcode-Annotationen zu modellieren, und bietet spezialisierte Unterstützung für Lombok-generierten Code. Das Tool deckt ein breites Spektrum an Funktionen zur Sicherheitsdurchsetzung ab, einschließlich der Validierung von Java-API-Verträgen für Methoden-Overrides und der Erkennung des Abrufs leerer Optional-Werte. Die Analyseoberfläche erstreckt sich auf die Nullability-Markierung auf Paketebene und die Möglichkeit, generierten Quellcode von der Analyse auszuschließen.

    Recognizes common Lombok annotations to maintain compatibility with in-memory modifications of the abstract syntax tree.

    Javaandroidjavanullability
    Auf GitHub ansehen↗4,064
  • google/cel-specAvatar von google

    google/cel-spec

    3,673Auf GitHub ansehen↗

    The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin

    Provides a standardized specification for representing expression syntax as abstract syntax trees for consistent analysis.

    Starlark
    Auf GitHub ansehen↗3,673
  • holistics/dbmlAvatar von holistics

    holistics/dbml

    3,520Auf GitHub ansehen↗

    DBML is a domain-specific language and schema definition language used for documenting database architecture and design. It provides a human-readable text format for defining database tables, columns, and relationships in a standardized way. The project functions as a relational schema parser and SQL schema generator. It transforms declarative design specifications into an abstract syntax tree for programmatic manipulation and converts these definitions into executable SQL statements across various database dialects. The system covers relational data modeling, database schema design, and arc

    Maintains an internal structured representation of tables and relationships for programmatic schema manipulation.

    JavaScriptdatabase-schemadbmldbx
    Auf GitHub ansehen↗3,520
  1. Home
  2. Software Engineering & Architecture
  3. Abstract Syntax Tree Specifications

Unter-Tags erkunden

  • Decompilation ParsersConstructs intermediate tree representations from bytecode to facilitate structural analysis and logical flow reconstruction. **Distinct from Abstract Syntax Tree Specifications:** Focuses on AST construction specifically for decompilation purposes, distinct from general-purpose syntax tree specifications.
  • Lombok AST IntegrationAnalysis logic that recognizes and accounts for AST modifications performed by Lombok. **Distinct from Abstract Syntax Tree Specifications:** Focuses on integrating with Lombok's in-memory AST changes rather than general AST specifications.
  • Tree-Walking Interpreters3 Sub-TagsExecution engines that evaluate source code by directly traversing its abstract syntax tree. **Distinct from Abstract Syntax Tree Specifications:** Distinct from Abstract Syntax Tree Specifications: focuses on the execution logic of tree traversal rather than the structural definition of the tree itself.