Commit Graph

  • f7e8cef380 Yay! Class lookup and allocation e2e. main Jesse Brault 2026-03-13 20:21:49 -0500
  • 0e24ce1784 Add fqn_context. Jesse Brault 2026-03-13 17:19:25 -0500
  • 5be778ba80 Fix some ir-related things with fields. Jesse Brault 2026-03-13 16:19:53 -0500
  • 8759c3be27 Lots of work e2e for reading/setting fields. Jesse Brault 2026-03-13 09:16:41 -0500
  • 54e2a170a2 VM-side work on values and objects to make it possible to locate fields. Jesse Brault 2026-03-13 00:01:55 -0500
  • 55a84a98b3 More work on getting example to compile, need to use fqns and proper returns. Jesse Brault 2026-03-12 23:48:35 -0500
  • 320cdcf805 Compiling fields getters/setters. Jesse Brault 2026-03-12 21:52:21 -0500
  • 51a80bb5ed Add records to manual. Jesse Brault 2026-03-12 18:41:41 -0500
  • 940671822c Add basic classes example. Jesse Brault 2026-03-12 16:24:20 -0500
  • 75802e6ee4 Expand diagnostic API. Jesse Brault 2026-03-12 16:15:03 -0500
  • 93eb5eb204 Add ability to call constructors. Jesse Brault 2026-03-12 15:55:15 -0500
  • 8082f4c2e6 Add type-checking to classes/fields/constructors. Jesse Brault 2026-03-12 15:37:37 -0500
  • 3c0bf948ac Start writing documentation on compiler errors. Jesse Brault 2026-03-12 15:17:34 -0500
  • ad821ce6a7 Add ctors, most name-analysis for classes/fields/constructors. Jesse Brault 2026-03-12 12:35:36 -0500
  • 75dcca0002 Name analysis for classes and affected things. Jesse Brault 2026-03-11 22:15:23 -0500
  • efecd6b9c8 Complete negation operator. Jesse Brault 2026-03-11 19:54:47 -0500
  • 89f519c45f Refactor scopes and symbol table for more resiliency and classes/fields. Jesse Brault 2026-03-11 15:04:38 -0500
  • 9790ec6ca6 Remove module_level_declaration ast node. Jesse Brault 2026-03-11 12:14:50 -0500
  • 80b6b96aeb Implement lexing and parsing for classes. Jesse Brault 2026-03-10 21:20:21 -0500
  • 9df9edc508 Add doubles. Jesse Brault 2026-03-10 17:32:02 -0500
  • 7de866cf9d Add return-type checking and fix string literal type-info bug. Jesse Brault 2026-03-10 12:42:53 -0500
  • 705436ba61 Add repl subcommand with expressions only. Jesse Brault 2026-03-09 21:11:09 -0500
  • b88b230495 Make run subcommand. Jesse Brault 2026-03-09 20:22:27 -0500
  • ebca87ddb9 A lot of work just to do subtraction. Jesse Brault 2026-03-09 19:22:35 -0500
  • e35bacb583 Bunch of AST refactoring to make api easier. Jesse Brault 2026-03-09 16:35:19 -0500
  • 9d09f7481b Add unary minus and subtraction to lexer/parser/ast node kinds. Jesse Brault 2026-03-09 12:33:14 -0500
  • e486b212ae Sketching dvm object. Jesse Brault 2026-03-08 20:29:57 -0500
  • ec848b3d36 Add e2e-tests project and add register saving around calls. Jesse Brault 2026-03-08 16:23:20 -0500
  • a7d162b2ca Add backlog. Jesse Brault 2026-03-08 13:35:12 -0500
  • ec7bf650b2 Add return mechanism to dvm code, and related fixes to dmc. Jesse Brault 2026-03-08 13:33:06 -0500
  • 2e33936842 Complete forgotten todo. Jesse Brault 2026-03-08 13:16:04 -0500
  • 12174c9cf6 Add stack offset propagation, clean up some deprecated things. Jesse Brault 2026-03-08 13:11:07 -0500
  • 12c4d0eb83 End-to-end with register allocation. Jesse Brault 2026-03-08 01:27:09 -0600
  • 1171ce75f9 Propagate register assignments. Jesse Brault 2026-03-07 18:23:45 -0600
  • d8bd826cb0 Fix parse mistake. Jesse Brault 2026-03-07 17:54:18 -0600
  • 4479fcb1ba Refactor register allocation code to separate module. Jesse Brault 2026-03-07 17:53:34 -0600
  • 5d565ccf91 Fix register allocation algorithm. Jesse Brault 2026-03-06 20:16:00 -0600
  • 8e9ae9ed98 Implement register allocation algorithm, with a few bugs. Jesse Brault 2026-03-05 23:19:00 -0600
  • 272d288213 Implement block/statement interference graph algorithm. Jesse Brault 2026-03-05 20:41:25 -0600
  • c91bb35d8d Giving more info to ir. Jesse Brault 2026-03-05 16:30:39 -0600
  • 15089a15d2 Re-introduce ir with goal of doing register allocation. Jesse Brault 2026-03-05 12:41:05 -0600
  • cfff03e97d Add add_strings.dm. Jesse Brault 2026-03-05 10:55:00 -0600
  • 713aec24ae Fix hello.dm. Jesse Brault 2026-03-04 22:16:40 -0600
  • 19194271aa Fmt all the old code. Jesse Brault 2026-03-04 22:15:39 -0600
  • b4ebee0c34 Add result example as long-term goal. Jesse Brault 2026-03-04 22:15:07 -0600
  • 7d8df883e6 Fix identifier type info being called too early bug. Jesse Brault 2026-03-04 22:05:53 -0600
  • d39e9afee2 More work on calling and returning. Jesse Brault 2026-03-04 15:05:07 -0600
  • 3cacde6a4c Work on calling conventions and instructions. Jesse Brault 2026-03-04 12:13:05 -0600
  • e1afb6b43b Much work on adding and calling. Jesse Brault 2026-03-03 21:06:12 -0600
  • 81ceeeadb8 Add parameter-list to regular fns. Jesse Brault 2026-03-03 12:31:52 -0600
  • 61d7c66e17 Found some unused imports. Jesse Brault 2026-03-02 21:16:41 -0600
  • db675b5601 Write README.md. Jesse Brault 2026-03-02 21:16:18 -0600
  • 8c1d56dc1a Remove ir structs and fix misc. warnings. Jesse Brault 2026-03-02 20:15:36 -0600
  • 68cb200494 One small todo. Jesse Brault 2026-03-02 20:01:29 -0600
  • 0a0065a2c1 Add rudimentary type-use parsing and type-checking parameters. Jesse Brault 2026-03-02 20:00:16 -0600
  • 2d601d6115 Add Any type. Jesse Brault 2026-03-02 19:45:46 -0600
  • ec18b5d5ba Yay! Hello world via platform function is working. Jesse Brault 2026-03-02 18:22:24 -0600
  • 7c041e40ad Add sort-of-working error recovery to parser. Jesse Brault 2026-03-02 14:06:14 -0600
  • 506e260c75 Add logic for checking if callee is platform fn. Jesse Brault 2026-03-02 12:51:39 -0600
  • b7b495178b Add extern_function AST node. Jesse Brault 2026-03-02 12:19:38 -0600
  • 35a849233c Add extern keyword. Jesse Brault 2026-03-02 11:48:41 -0600
  • f2f4b0537e Fix lexer whitespace bug. Jesse Brault 2026-03-02 11:46:40 -0600
  • 1188e2b671 Add codespan_reporting back into the mix. Jesse Brault 2026-03-02 11:39:00 -0600
  • 0960516c4a Very minimal, but e2e hello world sort of working. Jesse Brault 2026-03-01 16:11:57 -0600
  • 6593a1cfd1 Assembling directly from AST. Jesse Brault 2026-02-28 08:22:57 -0600
  • e5e1647b70 Multiple statements test. Jesse Brault 2026-02-28 06:57:06 -0600
  • 6b855b8ebb Work on asm. Jesse Brault 2026-02-27 21:33:28 -0600
  • aefac57b9d Starting work on IR. Jesse Brault 2026-02-27 16:26:37 -0600
  • 8df46eec8d Moving to dmc-lib, keeping it smaller! Jesse Brault 2026-02-27 12:13:28 -0600
  • 8ba79be920 Add cst command. Jesse Brault 2025-12-03 10:38:22 -0600
  • 8eb13791ee Update pest. Jesse Brault 2025-11-23 20:15:28 -0600
  • 7ffa516c03 Add fields and special children for Polymorphic enum loop specs. Jesse Brault 2025-11-23 14:22:33 -0600
  • 734a00ea92 Beginnings of type analysis. Jesse Brault 2025-11-22 17:59:08 -0600
  • 8d73a8ea73 Update ast schema. Jesse Brault 2025-11-22 16:50:32 -0600
  • 70aea0ba6f Rewrite pretty_print as Display impl; tweaking ir. Jesse Brault 2025-11-22 16:31:08 -0600
  • f656d0d4d4 Merge remote-tracking branch 'origin/grammar-overhaul' into grammar-overhaul Jesse Brault 2025-11-21 21:38:35 -0600
  • 026bc68fa7 Introduce asm representation (between ir and vm instructions). Jesse Brault 2025-11-21 21:38:12 -0600
  • 9dfdcd716b Modest implementation of lowering to IR and Instruction code. Jesse Brault 2025-11-19 23:22:26 -0600
  • f21128fd68 Add support for polymorphic enum builds (used for suffix operators). Jesse Brault 2025-11-15 18:13:25 -0600
  • 803b95c5dc More json sketching. Jesse Brault 2025-11-10 22:08:09 -0600
  • 053d08849e Sketching out rail and json. Jesse Brault 2025-11-10 16:32:19 -0600
  • 7439ca554c Fixed spacing for suffix operators. Now calls require at least one of parentheses and/or closure. Jesse Brault 2025-11-03 14:42:41 -0600
  • 51c39f5f34 WIP fixing newlines/call grammar. Jesse Brault 2025-11-03 13:41:05 -0600
  • 1d11a45c68 Seem to have fixed newlines and no-parentheses calls. Jesse Brault 2025-11-03 12:16:28 -0600
  • da05bb101b Better handling of global imports. Jesse Brault 2025-11-02 13:41:00 -0600
  • 6bcef184eb Successfully fixed implicit global println test. Jesse Brault 2025-11-01 21:38:52 -0500
  • 0550df534e Move parameter gathering to second pass in order to match analysis of all locals there. Jesse Brault 2025-11-01 12:23:41 -0500
  • 13330300c1 WIP fleshing out of block and expression name analysis. Jesse Brault 2025-10-31 13:04:22 -0500
  • 12a3a61156 Work on functions and parameter name resolution. Jesse Brault 2025-10-31 12:14:33 -0500
  • 9b83a531ca Remove un-needed test. Jesse Brault 2025-10-29 12:14:52 -0500
  • e5c5be6d95 Re-enable tests for name analysis. Currently failing. Jesse Brault 2025-10-29 12:13:39 -0500
  • d653d26e14 Work on star-use symbols. Jesse Brault 2025-10-28 10:43:42 -0500
  • 5721bd1e83 WIP variety of name-analysis things. Jesse Brault 2025-10-27 19:47:57 -0500
  • 8b374e1066 WIP seemingly endless name analysis refactoring. Jesse Brault 2025-10-27 08:48:08 -0500
  • 93c6a71185 WIP never ending name analysis. Jesse Brault 2025-10-24 14:33:55 -0500
  • 664aebfd61 WIP more name analysis. Jesse Brault 2025-10-21 18:36:03 -0500
  • bdbc2543b8 WIP name analysis, more symbol types, add symbol tree abstraction. Jesse Brault 2025-10-21 12:41:14 -0500
  • b5c0e44eeb Bunch of work on name analysis. Reintroduce Rc<RefCell<_>> for symbols. Jesse Brault 2025-10-20 20:55:29 -0500
  • 273d197841 New phases for name analysis. Jesse Brault 2025-10-20 19:20:43 -0500
  • af8f0b5dac Various new ideas for name analysis. Jesse Brault 2025-10-20 18:31:54 -0500