![MonkeyLogo](https://private-user-images.githubusercontent.com/13321065/280533707-9ae3e754-60ad-423c-b4d3-f5d35ed73e54.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxNDUwMjAsIm5iZiI6MTcyNDE0NDcyMCwicGF0aCI6Ii8xMzMyMTA2NS8yODA1MzM3MDctOWFlM2U3NTQtNjBhZC00MjNjLWI0ZDMtZjVkMzVlZDczZTU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIwVDA5MDUyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMxNWM4Y2Y3M2Q0YTQxNGE4MTA0YTBhMWJjYjU5YWQ2N2NjOGJmOTYyMmFkYjczMDkzMDJkODQwODdlNWIxYzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.eJ3-k6wUkU6xMT9ieGKEWkdKtYGoaYMOVXD41-DKqZo)
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