SKU/Artículo: AMZ-1837638071

Building Programming Language Interpreters: A bottom-up approach to runtimes, execution, and implementation in C++

Format:

Paperback

Kindle

Paperback

Detalles del producto
Disponibilidad:
En stock
Peso con empaque:
0.64 kg
Devolución:
Condición
Nuevo
Producto de:
Amazon
Viaja desde
USA

Sobre este producto
  • 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 FeaturesDesign a domain-specific language to solve focused problems and reduce complexity and bugsFollow a bottom-up approach, from runtime design to interpreter implementationBuild an interpreter from scratch as a functional, minimum viable productBook DescriptionDesigning 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 learnDesign a domain-specific language and interpreter from scratchWrite an interpreter that can be embedded into existing environmentsUnderstand how runtime shapes language execution and interpreter designReason about language design and runtime trade-offsDefine and implement the execution model of an interpreted languageImplement a lexer, parser, analyzer, and instruction emitter in C++Who this book is forThis book is tailored for intermediate to advanced software developers, particularly those interested in language design and implementation. It's ideal for programmers seeking to expand their skill set and tackle complex problems efficiently. Professionals working in roles such as software engineers, language designers, or system architects will benefit from the practical insights and hands-on experience provided in the book. Good understanding of C++ programming and basic understanding of language design concepts are recommended to fully grasp the content. Table of ContentsDefining the ScopeThe Blurred Lines Between Native Code, Virtual Machines, and InterpretersInstructions, Concurrency, Inputs, and OutputsNative Types, User Types, and Extension PointsPutting It All Together: Making Trade-Off DecisionsReview of Programming Language ParadigmsValues, Containers, and the Language Meta-modelLexical ScopesPutting It All Together and Creating a Coherent VisionInitialization and Entry PointExecution Frames, the Stack, and ContinuationsRunning and Testing Language OperatorsLexing: Turning Text into a Stream of TokensParsing: Turning a Stream of Tokens into a Parse Tree(N.B. Please use the Read Sample option to see further chapters)
AR$174.192
55% OFF
AR$79.175

IMPORT EASILY

By purchasing this product you can deduct VAT with your RUT number

AR$174.192
55% OFF
AR$79.175

Pagá fácil y rápido con Mercado Pago o MODO

Llega en 8 a 12 días hábiles
con envío
Tienes garantía de entrega
Este producto viaja de USA a tus manos en