Loading...
Ebook details
Log in if you are interested in the contents of the item.
Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
Daniel Ruoso
Loading...
EBOOK
Loading...
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
- Title:Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
- Author:Daniel Ruoso
- Original title:Building Programming Language Interpreters. A bottom-up approach to runtimes, execution, and implementation in C++
- ISBN:9781837630844, 9781837630844
- Date of issue:2026-01-16
- Format:Ebook
- Item ID: e_4gld
- Publisher: Packt Publishing
Loading...
Loading...