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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Back to munificent/craftinginterpreters

Open-source alternatives to Craftinginterpreters

30 open-source projects similar to munificent/craftinginterpreters, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Craftinginterpreters alternative.

  • chakra-core/chakracorechakra-core avatar

    chakra-core/ChakraCore

    9,242View on GitHub↗

    ChakraCore is an embeddable JavaScript engine and high-performance scripting runtime. It provides a just-in-time compiler that converts JavaScript source code into optimized machine code during runtime to increase execution speed and throughput. The engine utilizes a multi-tiered compilation pipeline and tiered machine code generation to balance startup time with execution speed. Memory is managed via a concurrent garbage collector that reclaims unreachable objects on background threads to minimize application pauses. The project provides capabilities for embedded JavaScript execution and au

    JavaScriptchakrachakracorecplusplus
    View on GitHub↗9,242
  • thejameskyle/the-super-tiny-compilerthejameskyle avatar

    thejameskyle/the-super-tiny-compiler

    28,527View on GitHub↗

    This project is an educational compiler implementation and a minimalist compiler construction tutorial. It serves as a practical example of how to build a functional compiler through a simplified end-to-end development process, transforming source code into executable instructions. The implementation is designed to teach the fundamentals of language implementation and compiler design. It focuses on the essential mechanics of transforming source code by demonstrating the core architecture of a translation process. The system covers the primary stages of compilation, including lexical analysis

    JavaScript
    View on GitHub↗28,527
  • lua/lualua avatar

    lua/lua

    9,768View on GitHub↗

    Lua is an embeddable scripting language written in ISO C, designed to be integrated into host applications for runtime customization. It provides a C-based scripting engine and a prototype-based object model that utilizes associative arrays and metatables to implement inheritance and complex data structures. The language features a cooperative multitasking system that manages concurrent execution threads via coroutines and an incremental garbage collector for automatic memory management. It includes a safe code sandbox to isolate global state and run untrusted scripts within a protected envir

    C
    View on GitHub↗9,768

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • kanaka/malkanaka avatar

    kanaka/mal

    10,665View on GitHub↗

    This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of programming language design. It provides a structured, step-by-step technical framework for building a functional Lisp language from scratch, featuring a specialized interpreter engine and an S-expression parser that converts syntax into abstract syntax trees. The project emphasizes a code-as-data metaprogramming framework, enabling the implementation of macros, quoting, and quasiquoting to transform expressions during evaluation. It is designed with host language agnosticism, allowi

    Assemblybashcc-plus-plus
    View on GitHub↗10,665
  • orangeduck/celloorangeduck avatar

    orangeduck/Cello

    7,124View on GitHub↗

    Cello is a programming language extension for C that provides a higher-level implementation of the language. It integrates an object-oriented framework, an automated garbage collection system, and a runtime reflection library to enable dynamic type inspection. The project implements a structured system for object orientation within C, including support for classes, type classes, and polymorphism. It includes a runtime exception handling system to intercept execution errors and initiate recovery procedures. The framework further provides generic programming capabilities for creating reusable

    C
    View on GitHub↗7,124
  • python/cpythonpython avatar

    python/cpython

    73,265View on GitHub↗

    CPython is the primary, community-maintained reference implementation of the Python programming language. It functions as a high-level, interpreted execution environment that compiles source code into platform-independent bytecode for processing by a stack-based virtual machine. The runtime manages memory through a combination of reference counting and generational cyclic garbage collection, while dynamic type dispatching determines object behavior at runtime based on metadata stored within object headers. The project is distinguished by its C-based architecture, which provides a stable forei

    Python
    View on GitHub↗73,265
  • openjdk/jdkopenjdk avatar

    openjdk/jdk

    22,617View on GitHub↗

    The Java Development Kit is a comprehensive software development environment designed for compiling, debugging, and executing applications written in the Java programming language. It provides the core infrastructure necessary to transform human-readable source code into platform-independent bytecode and run those applications across diverse computing environments. At the center of this environment is the Java Virtual Machine, a runtime engine that executes compiled bytecode while managing memory and system resources. This architecture utilizes a stack-based virtual machine and a platform-agn

    Javajavajvmopenjdk
    View on GitHub↗22,617
  • boa-dev/boaboa-dev avatar

    boa-dev/boa

    6,884View on GitHub↗

    Boa is a high-performance JavaScript engine and parser designed to execute JavaScript code and analyze source code structure. It functions as a runtime environment for executing scripts to automate tasks or process data, providing both a command-line JavaScript interpreter and a tool for converting source code into abstract syntax trees. The engine is capable of compiling to WebAssembly, allowing the runtime to be deployed and executed within web browser environments. It includes an interactive read-eval-print loop for real-time logic testing and snippet execution via a terminal. The system

    Rustecmascripthacktoberfestinterpreter
    View on GitHub↗6,884
  • sass/sasssass avatar

    sass/sass

    15,373View on GitHub↗

    Sass is a stylesheet compilation engine and CSS preprocessor that extends standard CSS with variables, nested rules, mixins, and functions. It functions as a comprehensive design system tool, enabling developers to organize complex stylesheets into modular, reusable components while automating the transformation of advanced syntax into browser-compatible CSS. The project distinguishes itself through its sophisticated build automation and language-level extensibility. It provides robust support for programmatic style generation, including conditional logic, iterative loops, and unit-aware math

    TypeScript
    View on GitHub↗15,373
  • webassembly/wabtWebAssembly avatar

    WebAssembly/wabt

    8,038View on GitHub↗

    The WebAssembly Binary Toolkit is a suite of tools for inspecting, validating, and transforming WebAssembly modules between binary and human-readable representations. It includes a stack-based interpreter for executing modules and a transpiler that converts binary files into C source code and headers. The toolkit provides utilities for assembling human-readable text into binary modules and disassembling binary files back into text. It features a text formatter for normalizing definitions into a canonical flat representation and supports the conversion of binaries into S-expression formats. T

    C++
    View on GitHub↗8,038
  • d5/tengod5 avatar

    d5/tengo

    3,821View on GitHub↗

    Tengo is a dynamic, embeddable scripting language for Go applications that allows for the execution of custom scripts without requiring the host binary to be recompiled. It operates as a bytecode-compiled virtual machine, transforming source code into a compact intermediate representation for execution on a stack-based engine. The system is designed as a secure scripting sandbox, enforcing strict limits on memory allocation and execution time to safely run untrusted code. It supports concurrent script execution by cloning compiled bytecode and using recursive immutability conversion to share

    Go
    View on GitHub↗3,821
  • webassembly/designWebAssembly avatar

    WebAssembly/design

    11,596View on GitHub↗

    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

    View on GitHub↗11,596
  • munificent/wrenmunificent avatar

    munificent/wren

    8,039View on GitHub↗

    Wren is a bytecode-compiled, class-based scripting language designed as an embeddable programming language. It provides a lightweight runtime and interface for executing dynamic scripts directly within host software applications. The engine utilizes a single-pass compiler to transform source code into compact bytecode and a virtual machine to process those instructions. It supports concurrent task execution through a system of lightweight fibers and coroutines. The language implements a class-based object model with dynamic message dispatch for organizing code into reusable components. It al

    Wren
    View on GitHub↗8,039
  • bitcoin/bitcoinbitcoin avatar

    bitcoin/bitcoin

    89,442View on GitHub↗

    This project is a cryptographic consensus engine and distributed ledger client that functions as a peer-to-peer network node. It enables decentralized network participation by allowing users to independently validate transactions and blocks, ensuring data integrity and consensus without reliance on a centralized authority. The software utilizes an unspent transaction output model to track ownership and verify state transitions across the network. What distinguishes this implementation is its commitment to verifiable security and deterministic operation. It features a reproducible build system

    C++bitcoinc-plus-pluscryptocurrency
    View on GitHub↗89,442
  • walter201230/pythonwalter201230 avatar

    walter201230/Python

    26,516View on GitHub↗

    Python is a high-level, interpreted programming language designed for readability and versatility. It operates via a bytecode-based virtual machine and manages memory automatically through reference-counting garbage collection. The language supports multiple programming paradigms, including object-oriented, imperative, and functional styles, and provides a comprehensive standard library for system operations, networking, and data handling. The language is distinguished by its dynamic nature, allowing for runtime object introspection and metaclass-driven class creation. It utilizes protocol-ba

    Pythonpythonpython3
    View on GitHub↗26,516
  • robertkrimen/ottorobertkrimen avatar

    robertkrimen/otto

    8,439View on 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

    Go
    View on GitHub↗8,439
  • lotabout/write-a-c-interpreterlotabout avatar

    lotabout/write-a-C-interpreter

    4,343View on 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

    C
    View on GitHub↗4,343
  • graphql/graphql-jsgraphql avatar

    graphql/graphql-js

    20,397View on 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

    TypeScript
    View on GitHub↗20,397
  • quickjs-ng/quickjsquickjs-ng avatar

    quickjs-ng/quickjs

    2,703View on GitHub↗

    QuickJS is a lightweight, embeddable ECMAScript runtime that executes JavaScript programs conforming to the latest specification. It is designed as a compact, standards-compliant JavaScript engine suitable for resource-constrained environments and embedded systems, available both as prebuilt binaries and as source code that can be compiled for custom integration. The engine distinguishes itself through a minimal runtime footprint achieved by a single-pass compiler that produces compact bytecode, executed on a stack-based virtual machine. Memory management uses reference-counting garbage colle

    C
    View on GitHub↗2,703
  • ethereumbook/ethereumbookethereumbook avatar

    ethereumbook/ethereumbook

    21,521View on GitHub↗

    This project serves as a comprehensive technical reference and educational platform for the Ethereum ecosystem. It provides a deep dive into the fundamental architecture of decentralized ledger systems, covering the core mechanisms that enable trustless state transitions, cryptographic security, and network consensus. The documentation distinguishes itself by bridging high-level conceptual frameworks with practical implementation details. It details the lifecycle of smart contract development, from source code compilation and bytecode analysis to deployment and interaction patterns. Furthermo

    blockchainbookdapp
    View on GitHub↗21,521
  • facebook/hhvmfacebook avatar

    facebook/hhvm

    18,635View on GitHub↗

    HHVM is a high-performance execution engine and runtime environment designed for the Hack language. It functions as a persistent web application server that processes incoming network traffic, while also providing command-line utilities for executing standalone scripts and performing automated tasks. The project distinguishes itself through a sophisticated execution model that utilizes just-in-time compilation to translate bytecode into optimized machine code. This process is supported by a static type analysis engine that enforces strict data constraints and identifies type inconsistencies b

    C++hackhacklanghhvm
    View on GitHub↗18,635
  • rswier/c4rswier avatar

    rswier/c4

    10,726View on GitHub↗

    c4 is a minimalist C compiler and programming tool designed to translate C source code into executable machine code using a small set of functions. It functions as a stripped-down compilation utility focused on a tiny codebase. The project serves as an educational tool for studying the internal mechanics of the compilation process. It implements minimalist C compilation to demonstrate how source files are transformed into low-level binary executables. The compiler utilizes a single-pass compilation model with recursive descent parsing and direct-to-binary emission. It manages the translation

    C
    View on GitHub↗10,726
  • dotnet/coreclrdotnet avatar

    dotnet/coreclr

    12,764View on GitHub↗

    CoreCLR is a runtime environment that manages the execution, memory, and basic types for applications built on the .NET platform. It serves as a managed execution environment that handles low-level system interactions and provides primitive data types for high-level application code. The project functions as a JIT compilation engine and a garbage collected runtime. It translates intermediate language into machine code at runtime for execution on specific hardware and automatically reclaims unused memory to prevent leaks. The system covers broad capability areas including managed code executi

    View on GitHub↗12,764
  • doocs/jvmdoocs avatar

    doocs/jvm

    11,093View on GitHub↗

    This project is a technical reference and documentation suite focused on the internal architecture and operational principles of the Java Virtual Machine. It provides comprehensive guides and analysis on how the virtual machine manages class loading, memory organization, and bytecode execution. The documentation distinguishes itself by providing deep dives into specific runtime mechanisms, such as the binary decoding of class files, the hierarchical delegation model for class loaders, and the precise sequence of the loading, linking, and initialization lifecycle. It also details memory reclam

    JavaScriptclassdoocsgc
    View on GitHub↗11,093
  • bdwgc/bdwgcbdwgc avatar

    bdwgc/bdwgc

    3,418View on GitHub↗

    This project is a garbage collection library and memory allocator for C and C++ that provides automatic reclamation of unreachable objects. It functions as a memory management system that can replace standard allocation functions to automate memory reclamation without requiring source modification. The system is distinguished by its ability to perform incremental and generational garbage collection to reduce application pauses, as well as parallel collection to distribute tracing across multiple CPU cores. It includes a specialized string manipulation library that uses shared structures to en

    Ccc-plus-pluscplusplus
    View on GitHub↗3,418
  • mono/monomono avatar

    mono/mono

    11,449View on GitHub↗

    Mono is an open source implementation of the .NET Framework that provides a managed execution environment, base class libraries, and a cross-platform virtual machine. It serves as a compliant implementation of the ECMA Common Language Infrastructure standard, enabling the execution of intermediate language binaries across different operating systems. The project includes a complete toolset for C# development, featuring a command line compiler and CLI to transform source code into executable assemblies. It distinguishes itself with a flexible managed memory system that supports multiple automa

    C#androidcsharpdotnet
    View on GitHub↗11,449
  • apache/nuttxapache avatar

    apache/nuttx

    3,912View on GitHub↗

    NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto

    Cembeddedmcumicrocontroller
    View on GitHub↗3,912
  • marcobambini/gravitymarcobambini avatar

    marcobambini/gravity

    4,537View on GitHub↗

    Gravity is an embeddable, bytecode-compiled programming language designed to provide programmable logic within host applications. It is a garbage-collected language that utilizes a mark-and-sweep system to automate memory management and prevent leaks. The language is characterized by a concurrent fiber-based execution model, allowing multiple non-blocking tasks to run simultaneously. It also functions as a JSON-native language, featuring built-in serialization tools to convert complex data structures to and from JSON format. The project includes a virtual machine and a compiler that transfor

    Cbridgebytecodec
    View on GitHub↗4,537
  • svaarala/duktapesvaarala avatar

    svaarala/duktape

    6,208View on GitHub↗

    Duktape is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++ applications. It functions as a lightweight ECMAScript runtime that provides a C-JavaScript bridge for exchanging data and invoking functions between native code and a script execution environment. The engine includes an ECMAScript bytecode compiler that allows for the serialization and caching of compiled functions to disk to reduce application startup time. It organizes script dependencies using a CommonJS-compliant module loader. The runtime covers a variety of capabilities in

    JavaScriptduktapejavascriptjavascript-engine
    View on GitHub↗6,208
  • asabeneh/30-days-of-pythonAsabeneh avatar

    Asabeneh/30-Days-Of-Python

    65,111View on GitHub↗

    This project is a structured educational curriculum designed to guide beginners through the fundamental concepts and syntax of the Python programming language. It functions as a self-paced technical training resource, providing a curated path for individuals to acquire core software development skills through a series of daily lessons and practical exercises. The guide distinguishes itself by combining theoretical explanations with hands-on coding tasks that cover the language's dynamic type system, interpreted execution model, and whitespace-based block scoping. It emphasizes the practical a

    Python30-days-of-pythondatadata-science
    View on GitHub↗65,111