Commit Graph

  • 11d368ab1a Fix compile errors WIP. main Jesse Brault 2026-05-01 14:19:01 -0500
  • 50884e38fa New lowering methods WIP. Jesse Brault 2026-04-22 10:35:56 -0400
  • 4ae4f7e9e6 Work on new compile pipeline and semantic analysis flow WIP. Jesse Brault 2026-04-12 17:24:37 -0500
  • 96ea0c5e50 Resolve types WIP. Jesse Brault 2026-04-09 13:55:55 -0500
  • 3a75a0c8e8 Work on new name resolve methods WIP. Jesse Brault 2026-04-06 20:43:30 -0500
  • fe8ab3601c Add FileId to CompilationUnit. Jesse Brault 2026-03-31 12:15:38 -0500
  • 64526a0b1c Small parser changes. Jesse Brault 2026-03-30 14:04:29 -0500
  • f95d504f88 Another big parser refactor, collecting diagnostics better. Jesse Brault 2026-03-28 20:50:46 -0500
  • 0df1252053 Tiny changes. Jesse Brault 2026-03-27 13:29:48 -0500
  • 06fafb825a Found some unused imports. Jesse Brault 2026-03-27 12:00:57 -0500
  • 584e7224a7 Compile pipeline WIP and various refactoring. Jesse Brault 2026-03-27 11:59:59 -0500
  • 178ce5d1a6 Immutable use of FqnContext. Jesse Brault 2026-03-27 11:27:19 -0500
  • 7d7626809d Start work on mdbook. Jesse Brault 2026-03-26 16:29:42 -0500
  • 88487a911e Organize repo by moving out old stuff. Jesse Brault 2026-03-25 11:20:46 -0500
  • 10221f6c3c Switch back to stable rust. Jesse Brault 2026-03-25 11:16:18 -0500
  • c5781114a5 Repl with let statements mostly working. Jesse Brault 2026-03-25 10:12:05 -0500
  • 655a0288d3 Some parser refactoring. Jesse Brault 2026-03-23 15:47:37 -0500
  • 53ec6a8f4f Unused import. Jesse Brault 2026-03-23 10:47:47 -0500
  • 41e798d8a6 Refactor lexer for readability and less method calls. Jesse Brault 2026-03-23 10:47:23 -0500
  • 916b6377ac All examples working again. Jesse Brault 2026-03-21 18:18:28 -0500
  • bb2b539f9b All tests passing again. Jesse Brault 2026-03-21 18:04:13 -0500
  • 4d6aa3ffd4 Fixing name checking for constructor assignment destinations. WIP. Jesse Brault 2026-03-21 17:53:35 -0500
  • 344761022b More fixes to type info, etc. WIP. Jesse Brault 2026-03-21 17:42:10 -0500
  • fc83cf7827 Preparing for intrinsic class symbols. WIP. Jesse Brault 2026-03-21 11:36:42 -0500
  • 7f1d507f4f Fixing more bugs. WIP. Jesse Brault 2026-03-21 10:55:47 -0500
  • 912f208705 Fixing bugs. WIP. Jesse Brault 2026-03-20 23:57:09 -0500
  • 4e8fa159c0 Fewer tests failing. WIP. Jesse Brault 2026-03-20 20:39:03 -0500
  • cf92356585 Major refactor of frontend ast semantic analysis. WIP. Jesse Brault 2026-03-20 19:33:52 -0500
  • 8724c07ae2 Refactor class ast node. Jesse Brault 2026-03-18 15:12:51 -0500
  • 7665a92678 Sketching class. Jesse Brault 2026-03-18 10:37:38 -0500
  • 42a5b994d2 Refactoring top-level constructs. Jesse Brault 2026-03-17 11:26:57 -0500
  • 86fcbb494b Semantic analysis of generic args and params. Jesse Brault 2026-03-16 12:15:05 -0500
  • 3466908a80 Lexing/parsing generic args. Jesse Brault 2026-03-16 10:21:00 -0500
  • b4094bf570 Sketching array-related things. Jesse Brault 2026-03-15 19:18:27 -0500
  • 0dce883dbd op_prec example working. Jesse Brault 2026-03-15 16:20:55 -0500
  • fa13697596 Instruction generation and implementation for shift and bitwise operators. Jesse Brault 2026-03-15 16:18:09 -0500
  • 7e72037d9e Instruction generation and implementation for multiplicative operators. Jesse Brault 2026-03-15 15:50:02 -0500
  • b0660c9e5a Parsing and lexing bitwise operators. Jesse Brault 2026-03-15 15:05:00 -0500
  • f0c84fe0c8 Parsing and lexing multiply, divide, modulo, shift operators. Jesse Brault 2026-03-15 13:41:07 -0500
  • 4a0a6b8425 Clean up ir vr_user trait and implementations. Jesse Brault 2026-03-15 13:15:31 -0500
  • f9373a687f Refactor to use IrBinaryOperation. Jesse Brault 2026-03-15 12:55:00 -0500
  • 863c3fef5d Refactor to use BinaryExpression. Jesse Brault 2026-03-15 12:18:38 -0500
  • 5a123419bd Assign statements ir and fixing some things. Jesse Brault 2026-03-14 19:53:06 -0500
  • 7e613b1b90 Parsing/analyzing assign statements. Jesse Brault 2026-03-14 10:36:53 -0500
  • f7e8cef380 Yay! Class lookup and allocation e2e. 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