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.
Las características principales de munificent/craftinginterpreters son: Language Implementation Guides, Programming Language Architectures, Stack-Based Virtual Machines, Tree-Walking Interpreters, Pedagogical Interpreters, Compiler and Database Projects, Compiler Theory Books, Interpreted Runtimes.
Las alternativas de código abierto para munificent/craftinginterpreters incluyen: 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…
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
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
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
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