Skip to content

Monkey 0.0.1

Choose a tag to compare

@hawkaii hawkaii released this 17 May 05:21
· 6 commits to main since this release

Release: Initial Interpreter - Chapters 1 to 3

Overview

This release marks the initial implementation of the Monkey interpreter, following the first three chapters of Thorsten Ball’s "Writing An Interpreter In Go." The interpreter is written in Go and provides the foundational structure necessary for further language feature development.

Implemented Features

  • Lexer: Tokenizes the Monkey language source code.
  • REPL: Provides a basic Read-Eval-Print Loop for interactive evaluation.
  • Basic Token Support: Recognizes identifiers, integer literals, operators, delimiters, and keywords.
  • Error Handling: Basic detection and reporting of unknown tokens.

Usage

  1. Build:

    go build -o monkey
  2. Run REPL:

    ./monkey
  3. Try Out:
    Enter Monkey language expressions (identifiers, numbers, operators, etc.) in the REPL to see them tokenized.

Reference

Next Steps

  • Implement parser and AST nodes (Chapters 4+)
  • Expand language features and error handling

This release provides a solid foundation for the Monkey interpreter and is ideal for those following along with the book or interested in learning about interpreter fundamentals in Go.

What's Changed

  • Evaluator for primitive expressions by @hawkaii in #1

New Contributors

Full Changelog: https://github.com/hawkaii/monkey_go/commits/v0.0.1