Commit Graph

9 Commits

Author SHA1 Message Date
cdf36e8211 Monk now fully supports Functions, Function calls and closures.
git-svn-id: https://svn.tlawal.org/svn/monkey@54 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-26 19:00:32 +00:00
7fcea2117f Implemented environments which is just a hash map to keep track of values in the language.
git-svn-id: https://svn.tlawal.org/svn/monkey@52 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-19 07:18:37 +00:00
d38f4dec8a Tests
- Ensure value producing expression in a let statement and also identifiers bound to a 
variable name.
- Tests to ensure valid errors with unbound identifiers

git-svn-id: https://svn.tlawal.org/svn/monkey@51 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-18 14:32:13 +00:00
44612f0756 Error handling
git-svn-id: https://svn.tlawal.org/svn/monkey@50 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-11 06:55:07 +00:00
5456f60038 Infix Expression, Prefix Expression, Return Statement.
git-svn-id: https://svn.tlawal.org/svn/monkey@49 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-11 05:04:44 +00:00
a170eb4450 Infix evaluation operation now supported.
git-svn-id: https://svn.tlawal.org/svn/monkey@47 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-08 11:01:32 +00:00
4b67c7d6e1 Implement the "!" evaluation operator
git-svn-id: https://svn.tlawal.org/svn/monkey@46 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-08 10:14:14 +00:00
886a16e706 Spelling corrections
Interpreter can now evaluate Booleans

git-svn-id: https://svn.tlawal.org/svn/monkey@45 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-07 14:58:35 +00:00
1b97196361 Evaluation - Integer evaluation now works, got basically a REPL going on.
git-svn-id: https://svn.tlawal.org/svn/monkey@44 f6afcba9-9ef1-4bdd-9b72-7484f5705bac
2022-08-07 14:44:11 +00:00