Librería Samer Atenea
Librería Aciertas (Toledo)
Kálamo Books
Librería Perelló (Valencia)
Librería Elías (Asturias)
Donde los libros
Librería Kolima (Madrid)
Librería Proteo (Málaga)
Explore why you might build a new programming language, which aspects influence runtime and language design choices, and how to implement a working first-version interpreter for that language in C++.Free with your book: DRM-free PDF version + access to Packt’s next-gen Reader*Key Features:- Design a domain-specific language to solve focused problems and reduce complexity and bugs- Follow a bottom-up approach, from runtime design to interpreter implementation- Build an interpreter from scratch as a functional, minimum viable productBook Description:Designing a custom programming language can be the most effective way to solve certain types of problems-especially when precision, safety, or domain-specific expressiveness matters. This book guides you through the full process of designing and implementing your own programming language and interpreter, from language design to execution, using modern C++.You’ll start by exploring when and why building a domain-specific language is worth it, and how to design one to fit a specific problem domain. Along the way, you’ll examine real-world interpreter architectures and see how their design decisions affect language behavior, capabilities, and runtime trade-offs.The book then walks through the entire process of interpreter implementation: defining syntax, building a lexer and parser, designing an abstract syntax tree, generating executable instructions, and implementing a runtime. All examples are in modern C++, with a focus on clean architecture and real-world usability.By the end, you’ll have a fully working interpreter for a domain-specific language designed to handle network protocols-plus the knowledge and tools to design your own programming language from scratch.*Email sign-up and proof of purchase requiredWhat You Will Learn:- Design a domain-specific language and interpreter from scratch- Write an interpreter that can be embedded into existing environments- Understand how runtime shapes language execution and interpreter design- Reason about language design and runtime trade-offs- Define and implement the execution model of an interpreted language- Implement a lexer, parser, analyzer, and instruction emitter in C++