Commit Graph

  • 6a96a3dd25 Update name change. master tijani 2024-08-28 19:31:35 -0500
  • d9d8a27568 puts() tijani 2023-08-14 22:39:08 +0000
  • 831b333a74 Built-in Functions: len() tijani 2023-08-14 19:40:04 +0000
  • 64e048dfcd String concatenation now a thing. tijani 2023-05-09 23:57:45 +0000
  • ec6c1ce5aa Now supports strings. tijani 2023-05-09 19:59:18 +0000
  • 4f3ef7d314 Interpreter complete. tijani 2023-05-05 19:15:39 +0000
  • a3b39f1988 git-svn-id: https://svn.tlawal.org/svn/monkey@61 f6afcba9-9ef1-4bdd-9b72-7484f5705bac tijani 2023-05-05 16:12:19 +0000
  • ef88c389f0 Adding Support for arrays. TESTs do not pass, need to fix. tijani 2022-11-24 20:02:19 +0000
  • 40de215f70 Built-in functions: tijani 2022-11-11 20:30:15 +0000
  • b028741d75 - String Concatenation is now possible. - Added test to ensure only '+' will work for concatenating strings - Likkle reformatting. tijani 2022-11-03 15:01:40 +0000
  • 2c2c936b29 String Implementation is done. Still has TODO that would make for good excercise. tijani 2022-11-03 14:23:07 +0000
  • 2791a27f1f Built-in datatypes: Added String The parser now understands what a strings is and can take a string literal and curn out an Stringliteral AST nodes. tijani 2022-11-03 11:11:42 +0000
  • 05d2c32b38 Formatting. Monk also supports first-class functions tijani 2022-08-26 19:01:31 +0000
  • cdf36e8211 Monk now fully supports Functions, Function calls and closures. tijani 2022-08-26 19:00:32 +0000
  • 6f00316b43 Typo tijani 2022-08-19 07:49:24 +0000
  • 7fcea2117f Implemented environments which is just a hash map to keep track of values in the language. tijani 2022-08-19 07:18:37 +0000
  • 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 tijani 2022-08-18 14:32:13 +0000
  • 44612f0756 Error handling tijani 2022-08-11 06:55:07 +0000
  • 5456f60038 Infix Expression, Prefix Expression, Return Statement. tijani 2022-08-11 05:04:44 +0000
  • ec01fd1a31 Turn off parser tracing tijani 2022-08-08 11:35:06 +0000
  • a170eb4450 Infix evaluation operation now supported. tijani 2022-08-08 11:01:32 +0000
  • 4b67c7d6e1 Implement the "!" evaluation operator tijani 2022-08-08 10:14:14 +0000
  • 886a16e706 Spelling corrections Interpreter can now evaluate Booleans tijani 2022-08-07 14:58:35 +0000
  • 1b97196361 Evaluation - Integer evaluation now works, got basically a REPL going on. tijani 2022-08-07 14:44:11 +0000
  • 7a319dc03b not needed, at least for now tijani 2022-08-07 14:43:06 +0000
  • 97059abeee Added tracing. tijani 2022-08-01 16:27:33 +0000
  • 3b013cd917 Formatting changes. REPL can now use the parser. tijani 2022-08-01 16:13:40 +0000
  • e5d2851c2e Remove TODO's tijani 2022-08-01 05:26:02 +0000
  • 7e34164019 CallExpression ast, parser and tests completed. tijani 2022-08-01 04:58:28 +0000
  • c421b040d5 Can now parse FunctionLiteral and its parameters. Tests are also included. tijani 2022-07-31 23:31:43 +0000
  • c1d53c5101 git-svn-id: https://svn.tlawal.org/svn/monkey@37 f6afcba9-9ef1-4bdd-9b72-7484f5705bac tijani 2022-07-31 21:57:20 +0000
  • 1ac48b0cad Test for IfExpressions, and IfElseExpression tijani 2022-07-31 21:55:09 +0000
  • 5d1197160d Improved code readability. Added IfExpressions, BlockStatements, and FunctionLiterals tijani 2022-07-31 21:44:35 +0000
  • a4b75cf9c2 Changes: - Parsing grouped expressions is now possible - formatting tijani 2022-07-14 12:23:22 +0000
  • 388700441e Changes: - Added helper functions to test BooleanLiterals - Formatting tijani 2022-07-14 12:12:56 +0000
  • 628a604701 Changes: - Boolean expression can now be parsed. - Formatting tijani 2022-07-14 07:26:34 +0000
  • 6597024fff Helper functions to make testing the AST easier and cleaner. tijani 2022-07-14 06:54:26 +0000
  • 73eeb2001e git-svn-id: https://svn.tlawal.org/svn/monkey@30 f6afcba9-9ef1-4bdd-9b72-7484f5705bac tijani 2022-07-14 06:24:50 +0000
  • d1863830af Test helpers should be at the bottom. tijani 2022-06-12 14:50:08 +0000
  • 2fa35abbc3 add readme tijani 2022-06-01 14:27:07 +0000
  • dd030ebd4b This allows tracing information to be displayed. STRICTLY FOR TESTING ONLY, SHOULD BE TURNED OFF IN THE ACTUAL INTERPRETER. tijani 2022-06-01 14:20:16 +0000
  • 982efec3d0 - Formatting. - Tracing information now displayed to better visualize how the program works. tijani 2022-05-31 17:38:50 +0000
  • e5d95dc7b6 - Infix operator parsing is now possible. tijani 2022-05-31 15:01:43 +0000
  • 2253d6b02c Parsing prefix expressions, tests passes tijani 2022-05-31 11:32:43 +0000
  • 45f6929c14 Started implementing Pratt Parsing, tests now pass that can generate on Infix and Integer expressions. tijani 2022-05-30 17:40:03 +0000
  • e456189c86 ExpressionStatement in the AST to represent the typse of expressions that is supported in monkey. Hand written test in the AST to test the String() function for accuracy tijani 2022-05-30 05:51:27 +0000
  • fdf6a8a552 - Some minor formatting. - Parser can now handle return statements. tijani 2022-05-27 15:07:19 +0000
  • 58f6bab88f Clarity. tijani 2022-05-26 19:25:31 +0000
  • 145d61ba57 - The parser can now check for errors. - The test now handles checking for errors. tijani 2022-05-26 19:23:01 +0000
  • 4a3edec5e6 git-svn-id: https://svn.tlawal.org/svn/monkey@18 f6afcba9-9ef1-4bdd-9b72-7484f5705bac tijani 2022-05-26 19:20:51 +0000
  • 2e18493a4a Test now passes, wonder what I did wrong. tijani 2022-05-26 17:19:15 +0000
  • b8e8fc8b6e Stubborn bug, could not figure out what causing it. Will just re-write the entire thing. tijani 2022-05-26 16:35:08 +0000
  • 4f90d0cbd1 Formatting tijani 2022-05-26 16:33:09 +0000
  • c7dbccbe71 Basic structure of the parser, I now understand what is going on. I think ¯\_(?)_/¯ tijani 2022-05-24 17:05:02 +0000
  • b78944e3d7 Typo tijani 2022-05-23 17:35:55 +0000
  • 4691f6c3e5 Basic AST to represent expressions, statement, identifiers tijani 2022-05-23 14:26:34 +0000
  • d37bdfa644 Don't understand how it works. tijani 2022-05-23 14:25:45 +0000
  • f8f7ec04c7 Basic AST to represent expressions, statement, identifiers tijani 2022-05-23 14:24:35 +0000
  • 69ffeb209c Do not show username at interpreter startup. Now Monk not monkey Formatting and code clarity tijani 2022-05-23 14:18:27 +0000
  • 0aa17eeee4 git-svn-id: https://svn.tlawal.org/svn/monkey@8 f6afcba9-9ef1-4bdd-9b72-7484f5705bac tijani 2022-05-22 17:26:31 +0000
  • cf651aa1b8 ast and parser tijani 2022-05-22 06:51:19 +0000
  • 7a74beea8a Todos tijani 2022-05-19 00:25:09 +0000
  • 1ea1289b7a READ-EVALUATE-PRINT-LOOP now works and spits out tokens of input. YAY!!! tijani 2022-05-12 22:39:29 +0000
  • ee8ab63809 Rename new -> New and next_token -> NextToken, because of go's weird requirement that first letter of public methods in a package that would be used in another package must be capitalized. tijani 2022-05-12 22:38:47 +0000
  • fec8dd9152 Basic READ-EVALUATE-PRINT-LOOP tijani 2022-05-12 22:15:41 +0000
  • cebc052f32 - The lexer can now peek forward into the input stream. - Added the rest of the basic math operators. - Added > and <. - Test, Test, Test. - Added if, else, return, true, false. - Lexer can now differentiate between '=' and '==' and '!' and '!='. tijani 2022-05-12 22:04:29 +0000
  • 44d9b2c7ec Monkey can now lex its basic types and keywords. tijani 2022-05-12 20:51:16 +0000