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
·

7 repository-uri

Awesome GitHub RepositoriesTree-Walking Interpreters

Execution 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.

Explore 7 awesome GitHub repositories matching software engineering & architecture · Tree-Walking Interpreters. Refine with filters or upvote what's useful.

Awesome Tree-Walking Interpreters GitHub Repositories

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

    oracle/graal

    21,603Vezi pe GitHub↗

    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
    Vezi pe GitHub↗21,603
  • graphql/graphql-jsAvatar graphql

    graphql/graphql-js

    20,397Vezi pe GitHub↗

    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
    Vezi pe GitHub↗20,397
  • munificent/craftinginterpretersAvatar munificent

    munificent/craftinginterpreters

    10,539Vezi pe GitHub↗

    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
    Vezi pe GitHub↗10,539
  • robertkrimen/ottoAvatar robertkrimen

    robertkrimen/otto

    8,439Vezi pe GitHub↗

    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
    Vezi pe GitHub↗8,439
  • mobxjs/mobx-state-treeAvatar mobxjs

    mobxjs/mobx-state-tree

    7,050Vezi pe GitHub↗

    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
    Vezi pe GitHub↗7,050
  • cjex/regulexAvatar CJex

    CJex/regulex

    5,836Vezi pe GitHub↗

    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
    Vezi pe GitHub↗5,836
  • lotabout/write-a-c-interpreterAvatar lotabout

    lotabout/write-a-C-interpreter

    4,343Vezi pe GitHub↗

    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
    Vezi pe GitHub↗4,343
  1. Home
  2. Software Engineering & Architecture
  3. Abstract Syntax Tree Specifications
  4. Tree-Walking Interpreters

Explorează sub-etichetele

  • GraphQL Tree WalkersTraverses a parsed GraphQL document tree by visiting each node with enter and leave callbacks for inspection or transformation. **Distinct from Tree-Walking Interpreters:** Distinct from general Tree-Walking Interpreters: focuses on GraphQL AST traversal with visitor callbacks, not execution of arbitrary code.
  • Self-Modifying ASTsInterpreters that use abstract syntax trees which evolve and specialize over time to enable JIT optimization. **Distinct from Tree-Walking Interpreters:** Focuses on the self-modifying nature of the AST for optimization, rather than simple tree-walking execution.
  • State Tree WalkersTraverses all nodes in a state tree, invoking a callback on each for inspection or transformation. **Distinct from Tree-Walking Interpreters:** Distinct from Tree-Walking Interpreters: focuses on traversing application state trees, not executing ASTs.