Ładowanie...
Szczegóły ebooka
Zaloguj się, jeśli jesteś zainteresowany treścią pozycji.
Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
Daniel Ruoso
Ładowanie...
EBOOK
Ładowanie...
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 required
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 required
- 1. Defining the Scope
- 2. The Blurred Lines Between Native Code, Virtual Machines, and Interpreters
- 3. Instructions, Concurrency, Inputs, and Outputs
- 4. Native Types, User Types, and Extension Points
- 5. Putting It All Together: Making Trade-Off Decisions
- 6. Review of Programming Language Paradigms
- 7. Values, Containers, and the Language Meta-model
- 8. Lexical Scopes
- 9. Putting It All Together and Creating a Coherent Vision
- 10. Initialization and Entry Point
- 11. Execution Frames, the Stack, and Continuations
- 12. Running and Testing Language Operators
- 13. Lexing: Turning Text into a Stream of Tokens
- 14. Parsing: Turning a Stream of Tokens into a Parse Tree
- 15. Analyzing: Turning a Parse Tree into an Abstract Syntax Tree
- 16. Generating: Turning an Abstract Syntax Tree into Instructions
- 17. Proving That It Works
- Tytuł:Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
- Autor:Daniel Ruoso
- Tytuł oryginału:Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
- ISBN:9781837630844, 9781837630844
- Data wydania:2026-01-16
- Format:Ebook
- Identyfikator pozycji: e_4gld
- Wydawca: Packt Publishing
Ładowanie...
Ładowanie...