Buy this book
Crafting Interpreters contains everything you need to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. It’s a blast.
Starting from main()
, you build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you write each one yourself.
Buy this book
Subjects
Computer software, ComputersEdition | Availability |
---|---|
1 |
zzzz
Libraries near you:
WorldCat
|
2 |
aaaa
|
3 |
zzzz
Libraries near you:
WorldCat
|
4 |
zzzz
Libraries near you:
WorldCat
|
5 |
zzzz
|
Book Details
Table of Contents
Frontmatter
Dedication
Acknowledgements
I.
Welcome
1.
Introduction
2.
A Map of the Territory
3.
The Lox Language
II.
A Tree-Walk Interpreter
4.
Scanning
5.
Representing Code
6.
Parsing Expressions
7.
Evaluating Expressions
8.
Statements and State
9.
Control Flow
10.
Functions
11.
Resolving and Binding
12.
Classes
13.
Inheritance
III.
A Bytecode Virtual Machine
14.
Chunks of Bytecode
15.
A Virtual Machine
16.
Scanning on Demand
17.
Compiling Expressions
18.
Types of Values
19.
Strings
20.
Hash Tables
21.
Global Variables
22.
Local Variables
23.
Jumping Back and Forth
24.
Calls and Functions
25.
Closures
26.
Garbage Collection
27.
Classes and Instances
28.
Methods and Initializers
29.
Superclasses
30.
Optimization
Backmatter
A1.
Appendix I: Lox Grammar
A2.
Appendix II: Generated Syntax Tree Classes
The Physical Object
ID Numbers
Community Reviews (0)
Feedback?History
- Created September 25, 2022
- 5 revisions
Wikipedia citation
×CloseCopy and paste this code into your Wikipedia page. Need help?
October 19, 2022 | Edited by Drini | //covers.openlibrary.org/b/id/12954405-S.jpg |
October 19, 2022 | Edited by Drini | //covers.openlibrary.org/b/id/12954402-S.jpg |
October 19, 2022 | Edited by Drini | Edited without comment. |
September 25, 2022 | Edited by Drini | Edited without comment. |
September 25, 2022 | Created by Drini | Added new book. |