![MonkeyLogo](https://private-user-images.githubusercontent.com/13321065/280533707-9ae3e754-60ad-423c-b4d3-f5d35ed73e54.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk5NDcwMDAsIm5iZiI6MTcxOTk0NjcwMCwicGF0aCI6Ii8xMzMyMTA2NS8yODA1MzM3MDctOWFlM2U3NTQtNjBhZC00MjNjLWI0ZDMtZjVkMzVlZDczZTU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAyVDE4NTgyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk1NmFhNWU0OGUyNzc2YzI0MzRhZGM4YWE2NzVlODMyZjY1NWEwMTgxOWM2MzEzMjE4ZmUyMDNlZWJmYTA2MjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.axXwpmiczGTw6EWHSibQmJt2OIV85MzUbNPY4KbAP0E)
Development of the Monkey programming language with zig based on Writing an Interpreter with Go by Thorsten Ball
- Use zigup or zvm to install the zig nightly compiler
- Install the
0.12.0-dev.1828+225fe6ddb
zig compiler - Run with
zig build run
- Lexer
- Parser:
- Identifiers
- Integer Literals
- Boolean Literals
- Function Literals
- Assignment statements
- Return statements
- Expressions:
- Prefix expressions
- Infix expressions
- Grouped expressions
- If expressions
- Grouped expressions
- Call expressions
- Evaluator:
- Object System
- Integers
- Booleans
- Null
- Strings:
- Concatenation
- Expressions
- Integer Literals
- Boolean Literals
- Null
- Infix Expressions
- Prefix Expressions
- Conditionals
- Return Statements
- Error handling
- Bindings and Environment
- Functions and Function Calls