This is my implementation for the "Writing an Interpreter in Go" and "Writing a Compiler in Go" by Thorsten Ball in Rust.
Started as a project to understand Rust more deeply and explore Rust coding pattern.
This is the status of this project and where I am at in the book.
- Writing an Interpreter in Go
- Chapter 1 - Lexing
- Chapter 2 - Parsing
- Identifiers
- Integer Literals
- Prefix Operators
- Infix Operators]
- Pratt Parser
- Boolean Literals
- Grouped Expressions
- If Expression
- Function Literals
- Call Literals
- Chapter 3 - Evaluation
- Representing Object
- Evaluation Expression
- Conditionals
- Return Statement
- Error Handling
- Environment
- Function & Call
- Chapter 4 - Extending the interpreter
- String
- Built-in Functions
- Array
- Hashes
- Lost Chapter - Macro
- Writing a Compiler In Go
- Hello Byte Code!
- Compiling Expressions
- Conditionals
- Keeping Track of Names
- String, Array and Hash
- Functions
- Built-in Functions
- Closures
- Additional
- Make error message more useful
- Add comment support
- Cleanup and refactor interpreter
These are resources I'm using to aid in my learning.