Releases: Flokkq/monkey-interpreter
Releases · Flokkq/monkey-interpreter
refs/tags/v0.3.0-chapter3
Changelog
0.3.0-chapter3 - 2024-10-27
✨ Features
- (evaluate) Eval functions and closures - (1a0ea18)
- (evaluate) Eval let expressions and bindings - (3e5f5a3)
- (evaluate) Add environment to keep track of variables - (223c91b)
- (evaluate) Add error handling - (1158402)
- (evaluate) Eval returnstatements - (005ec05)
- (evaluate) Evaluate if else expressions - (759ee13)
- (evaluate) Eval comparison infix expressions - (cf07013)
- (evaluate) Eval arithmetic infix expressions - (cfc9ea2)
- (evaluate) Eval prefix expressions - (81a7a2e)
- (evaluate) Eval null - (802eaa1)
- (evaluate) Eval booleans - (ec6bf1b)
- (repl) Eval program - (8c61524)
- (evaluate) Eval integers - (1030fc4)
- (evaluate) Introducig the billion dollar mistake - (52120dd)
- (evaluate) Wrap booleans - (7b765ca)
- (evaluate) Wrap integers - (a793d6a)
- (evaluate) Basic object structure - (ff728e7)
🐛 Bug Fixes
- (eval) Fix boolean test cases - (dd50d35)
🔧Chores
refs/tags/v0.2.0-chapter2
Changelog
0.2.0-chapter2 - 2024-10-01
Tests
- (parser) Add generic functions for testing expressions - (67c759b)
✨ Features
- (repl) More monkey - (ca0e661)
- (repl) Utilize parser in loop - (92e2b5a)
- (parser) Finalize parser - (ceeb787)
- (parser) Parse call expressions - (3e1721a)
- (parser) Parse functions - (794eebf)
- (parser) Parse else part of if expressions - (728965c)
- (parser) Parse simple if expressions - (accc2c2)
- (parser) Parse grouped expressions - (704c3ad)
- (parser) Parse boolean expressions - (d2ad954)
- (parser) Easy functions for debugging of pratt parser - (35ae652)
- (parser) Parse infix expressions - (1bc58a7)
- (parser) Map tokentypes to precedence constants - (5e638d3)
- (parser) Parse prefix expressios (! and -) - (8369cb8)
- (parser) Add error handling if there is no parser for an expression - (36d6da5)
- (parser) Parse integer expressions - (cc5e389)
- (parser) Parse singule identifier as expression - (58d2d9f)
- (parser) Add debugging methods for identifiers and expressions - (c2b3b1a)
- (parser) Parse return statements without expressions - (183a670)
- (parser) Add basic error handling - (ee643ce)
- (parser) (unfinished) parse simple let statemets - (e937e52)
- (parser) Add basic parser structure - (8edc37b)
- (ast) Imnplement barebone ast - (05ef76e)
🐛 Bug Fixes
- (cliff) Correct repo name in cliff config - (3605470)
- (ast) Fix typo in ExpressionStatement interface implementation - (84b71e9)
- (ast) Add missing return type for function implented from interface - (ede24db)
🔧Chores
- (release) Prepare for v0.2.0-chapter2 - (84d5b3a)
- (ci) Change auto-generated releases to be pre-release - (79fc75c)
- (repo) Update README with source code examples from official website - (faddf2b)
- (repo) Add README - (7afa27c)
- (release) Prepare for v0.1.0-chapter1 - (396a913)
🚜 Refactoring
- (core) Rename vars - (96ebb88)
v0.1.0-chapter1
[0.1.0-chapter1] - 2024-09-22
✨ Features
- (repl) Add a read eval print loop - (69c9895)
- (lexer) Lex == and != - (984ac2d)
- (token) Add true, if, else and return - (c2d0fba)
- (lexer) Lex -, /, *, < and > - (87e0758)
- (lexer) Lex keywords and identifiers - (b13b15a)
- (lexer) Skip whitespaces - (0933501)
- (lexer) Implement basic lexer - (e68a6c4)
- (token) Define token literals - (d6f8a1d)
🎉 Initial Commit
- (go) Add go related boilerplate - (9a80c4c)
🐛 Bug Fixes
- (token) Remove typo in TokenType struct - (cab737d)