Commit Graph

  • a2d49ee8d3 [rlox] Bugfixes, lots of bugfixes main ctsk 2024-11-29 10:39:17 +01:00
  • 86626ebd23 [rlox] Implement Assignment (for global variables) ctsk 2024-11-28 09:04:09 +01:00
  • 59d5984e3d [rlox] Implement Globals (and cleanup a...lot) ctsk 2024-11-24 20:52:45 +01:00
  • 895b0f6b72 [rlox] More error handling, less panicking ctsk 2024-09-13 11:28:19 +02:00
  • 2d8190c4bb [jlox] Fix class definition parsing ctsk 2024-09-05 09:46:55 +02:00
  • 7d0a7b072a [jlox] Match error messages to official impl ctsk 2024-09-05 09:46:13 +02:00
  • 8d524a05e1 [tlox] Cache ConcatNode for String add ctsk 2024-09-02 16:55:13 +02:00
  • 2c8817aa69 [tlox] Implement TruffleLanguage class ctsk 2024-09-02 16:14:27 +02:00
  • a62fdeb8e4 [tlox] Implement String concatenation ctsk 2024-09-02 16:13:39 +02:00
  • 297ec48bdb [rlox] Add parse errors, pop expr statements ctsk 2024-09-01 23:44:38 +02:00
  • 80b0c20ccd [rlox] Implement Print Statements ctsk 2024-08-30 13:10:27 +02:00
  • 78ef9fdc07 [rlox] Fix string interning ctsk 2024-08-27 15:30:04 +02:00
  • 0d7980ddc7 [rlox] Implement basic linked-list allocation management ctsk 2024-08-27 15:15:13 +02:00
  • 2fe0743fd2 [rlox] summer cleanup (clippy stuff) ctsk 2024-08-17 13:05:33 +02:00
  • 94fe68aedc [rlox] Error when add operands are of wrong types ctsk 2023-10-21 12:16:17 +02:00
  • 1d0fde3594 [rlox] Fix comment scanning ctsk 2023-10-21 10:36:18 +02:00
  • 584536c059 [rlox] Add strings ctsk 2023-10-16 20:40:53 +02:00
  • 90e70c4cd2 [rlox] Make nil falsey + add equal and comparisons ctsk 2023-10-09 13:47:46 +02:00
  • 8ea397881c [rlox] Add trace to repl ctsk 2023-10-09 11:44:37 +02:00
  • f617738674 [rlox] Add Not op ctsk 2023-10-08 21:31:07 +02:00
  • 8ace98a215 [rlox] Add boolean literals ctsk 2023-10-08 20:44:11 +02:00
  • ef7c53a55c [rlox] Add dedicated instruction for Nil ctsk 2023-10-08 20:30:43 +02:00
  • 68b165bebe [rlox] Lint main.rs ctsk 2023-10-08 13:38:42 +02:00
  • 824ab73dcf [rlox] Support Nil ctsk 2023-10-08 13:38:30 +02:00
  • 957463bf2f [rlox] Handle incomplete expression ctsk 2023-10-08 12:44:32 +02:00
  • 45014fbe77 [rlox] Add repl ctsk 2023-10-08 12:25:21 +02:00
  • e7e7ef3b10 [rlox] Clean up ctsk 2023-10-08 11:20:00 +02:00
  • 8ce54fc17c [rlox] Add first sprout of parser ctsk 2023-06-04 19:19:48 +02:00
  • 20cb2e90d2 [rlox] Move name out of Chunk ctsk 2023-06-03 13:45:31 +02:00
  • 6d9511e7f2 [rlox] Faactor out scanner tests ctsk 2023-04-19 10:22:49 +02:00
  • 02dd735ea6 [rlox] refactor ctsk 2023-04-14 15:27:24 +02:00
  • 50780273f2 [rlox] Implement Scanner ctsk 2023-04-12 12:46:24 +02:00
  • 5be9950d99 [rlox] mini-cleanup ctsk 2023-04-04 20:34:36 +02:00
  • d227e3d3ba [rlox] Implement basic arithmetic ops ctsk 2023-04-04 19:03:57 +02:00
  • c0447cf7ab [tlox] LoxException -> runtime.LoxException ctsk 2023-03-30 21:24:49 +02:00
  • 278bcf5a54 [rlox] Dedop tracing ctsk 2023-03-30 20:17:00 +02:00
  • acc95c36e9 [rlox] Implement VM Stack ctsk 2023-03-30 11:49:38 +02:00
  • 73a3d93f82 [rlox] Add line information to chunk ctsk 2023-03-29 21:15:41 +02:00
  • d6e6b1d3ab [rlox] Use fewer files ctsk 2023-03-29 20:07:31 +02:00
  • ff67071f5b [rlox] init ctsk 2023-03-29 20:03:16 +02:00
  • 26cbca5c55 [jlox] conformance tests (wip) ctsk 2022-10-11 14:38:29 +02:00
  • da00410738 Implement super ctsk 2022-10-11 13:18:40 +02:00
  • f0b55491d8 [jlox] Interpret superclasses ctsk 2022-10-11 12:58:28 +02:00
  • e68b3036f7 [jlox] Resolve superclasses ctsk 2022-10-11 12:12:32 +02:00
  • 6d20bb63c2 [jlox] Parse superclass ctsk 2022-10-11 12:07:44 +02:00
  • 5729dbc010 [jlox] Add get/set for instance fields ctsk 2022-10-10 20:44:31 +02:00
  • f1eeff583c [jlox] Classes ctsk 2022-09-17 22:17:52 +02:00
  • a744ca18f9 Revert "[tlox] global vars" ctsk 2022-09-17 20:48:05 +02:00
  • c8f5edc494 [tlox] global vars ctsk 2022-09-15 17:20:23 +02:00
  • 63d502d6f9 [tlox] Add 'Nil' ctsk 2022-09-15 10:03:06 +02:00
  • 94ffb5370b [tlox] Add string and boolean literals ctsk 2022-09-14 22:55:19 +02:00
  • b400c6b4ef [jlox] Add Resolution and Binding ctsk 2022-09-14 20:45:54 +02:00
  • a1e5b4cb79 [tlox] Add Equality and Unary operands ctsk 2022-09-13 20:51:33 +02:00
  • ed8f945f7f [tlox] Add support for comparisons ctsk 2022-09-13 19:05:17 +02:00
  • a93b1018ca [tlox] Refactor to use Truffle DSL ctsk 2022-09-13 18:21:31 +02:00
  • 3c12f50b6f [tlox] Initial Expression parsing and evaluation ctsk 2022-09-13 17:31:30 +02:00
  • 1971ccef45 [jlox] experiment with stackless exception for Return ctsk 2022-09-10 21:17:15 +02:00
  • 12b0d6d0db [jlox] Add function declaration ctsk 2022-09-10 21:09:53 +02:00
  • b83e6735f7 [jlox] Fix if bug ctsk 2022-09-10 21:01:11 +02:00
  • 8a1f0f1217 [jlox] Add function calls ctsk 2022-09-10 19:42:05 +02:00
  • a516090b4f [jlox] Add for loops (using syntactic sugar!) ctsk 2022-09-10 11:46:18 +02:00
  • a4c1076008 [jlox] Add while statement ctsk 2022-09-10 11:21:25 +02:00
  • 5327b3746a [jlox] Add branching ctsk 2022-09-10 11:08:21 +02:00
  • dd09bb748f [jlox] Test Scanner ctsk 2022-09-09 22:27:46 +02:00
  • fcd8b75ed6 Expression pretty printer ctsk 2022-09-09 12:35:27 +02:00
  • 2d1bad5701 Add assigments + scoping ctsk 2022-09-09 12:27:16 +02:00
  • 78cb1521df Add ExprStatement PrintStatement ctsk 2022-09-08 18:57:34 +02:00
  • 57681d2eeb Implement Expression interpreter ctsk 2022-09-08 11:30:26 +02:00
  • e1247c3360 Parsing expressions done! ctsk 2022-09-08 10:04:33 +02:00
  • e68f0edc1c Code Generation for Expression trees ctsk 2022-09-06 17:34:55 +02:00
  • 3857580ff0 Cleanup: Use idiomatic getOrDefault ctsk 2022-09-05 10:28:04 +02:00
  • 6dd507d76a Implement the Scanner ctsk 2022-09-03 20:22:29 +02:00
  • 9510b57e11 Initialize Jlox ctsk 2022-09-02 22:08:24 +02:00
  • 1b0003e586 Challenge 1 + 2 ctsk 2022-09-02 21:57:44 +02:00
  • 69a872fe2d Add Nix env for Java and C ctsk 2022-08-31 21:21:03 +02:00