awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
munificent avatar

munificent/craftinginterpreters

0
View on GitHub↗
10,539 星标·1,244 分支·HTML·other·5 次浏览www.craftinginterpreters.com↗

Craftinginterpreters

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 lexical scoping environments and automated memory management systems.

The guide covers the design of tracing garbage collectors and tagged union value representations to manage data and resources efficiently. It serves as a technical reference for developing language front-ends and custom virtual machines, detailing the processes required to transform source code into executable logic.

Features

  • Language Implementation Guides - Offers a comprehensive resource for building a complete programming language from scratch.
  • Programming Language Architectures - Provides a comprehensive guide to building custom programming languages from scratch.
  • Stack-Based Virtual Machines - Implements a high-performance execution engine that processes custom bytecode on a virtual stack.
  • Tree-Walking Interpreters - Evaluates source code by traversing the abstract syntax tree directly to execute logic.
  • Pedagogical Interpreters - Serves as a pedagogical implementation that evaluates source code by traversing its structural representation.
  • Compiler and Database Projects - A hands-on guide to implementing a programming language interpreter.
  • Compiler Theory Books - Comprehensive guide to building a full-featured interpreted scripting language.
  • Interpreted Runtimes - Executes source code directly by traversing its structure without a prior compilation step.
  • Virtual Machines - Compiles source code into specialized instructions and runs them on a virtual machine.
  • Garbage Collectors - Provides a memory management mechanism that tracks object references during runtime to reclaim unused data.
  • Memory Management Systems - Tracks object references during program execution to identify and remove unused data.
  • Garbage Collection - Identifies and reclaims unreachable memory by periodically scanning object references.
  • Single-Pass Compilers - Transforms source code into executable instructions in one traversal to minimize build overhead.
  • Lexical Scoping Mechanisms - Implements nested symbol tables to manage variable visibility and lifetime within the language runtime.
  • Abstract Syntax Tree Tools - Provides utilities for programmatically parsing and traversing source code structures.

Star 历史

munificent/craftinginterpreters 的 Star 历史图表munificent/craftinginterpreters 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

munificent/craftinginterpreters 是做什么的?

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.

munificent/craftinginterpreters 的主要功能有哪些?

munificent/craftinginterpreters 的主要功能包括:Language Implementation Guides, Programming Language Architectures, Stack-Based Virtual Machines, Tree-Walking Interpreters, Pedagogical Interpreters, Compiler and Database Projects, Compiler Theory Books, Interpreted Runtimes。

munificent/craftinginterpreters 有哪些开源替代品?

munificent/craftinginterpreters 的开源替代品包括: chakra-core/chakracore — ChakraCore is an embeddable JavaScript engine and high-performance scripting runtime. It provides a just-in-time… thejameskyle/the-super-tiny-compiler — This project is an educational compiler implementation and a minimalist compiler construction tutorial. It serves as a… lua/lua — Lua is an embeddable scripting language written in ISO C, designed to be integrated into host applications for runtime… kanaka/mal — This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of… orangeduck/cello — Cello is a programming language extension for C that provides a higher-level implementation of the language. It… openjdk/jdk — The Java Development Kit is a comprehensive software development environment designed for compiling, debugging, and…

Craftinginterpreters 的开源替代方案

相似的开源项目,按与 Craftinginterpreters 的功能重合度排序。
  • chakra-core/chakracorechakra-core 的头像

    chakra-core/ChakraCore

    9,242在 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
    在 GitHub 上查看↗9,242
  • thejameskyle/the-super-tiny-compilerthejameskyle 的头像

    thejameskyle/the-super-tiny-compiler

    28,527在 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
    在 GitHub 上查看↗28,527
  • lua/lualua 的头像

    lua/lua

    9,768在 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
    在 GitHub 上查看↗9,768
  • kanaka/malkanaka 的头像

    kanaka/mal

    10,665在 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
    在 GitHub 上查看↗10,665
查看 Craftinginterpreters 的所有 30 个替代方案→