Monkey Lang Interpreter

This is my implementation for the "Writing an Interpreter in Go" and "Writing a Compiler in Go" by Thorsten Ball in Rust.

About

Started as a project to understand Rust more deeply and explore Rust coding pattern.

Status

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.