Jesse Brault jessebrault
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-16 17:37:25 +00:00
86fcbb494b Semantic analysis of generic args and params.
3466908a80 Lexing/parsing generic args.
b4094bf570 Sketching array-related things.
0dce883dbd op_prec example working.
Compare 4 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-15 21:18:32 +00:00
fa13697596 Instruction generation and implementation for shift and bitwise operators.
7e72037d9e Instruction generation and implementation for multiplicative operators.
b0660c9e5a Parsing and lexing bitwise operators.
Compare 3 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-15 18:41:19 +00:00
f0c84fe0c8 Parsing and lexing multiply, divide, modulo, shift operators.
4a0a6b8425 Clean up ir vr_user trait and implementations.
f9373a687f Refactor to use IrBinaryOperation.
863c3fef5d Refactor to use BinaryExpression.
5a123419bd Assign statements ir and fixing some things.
Compare 5 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-14 15:37:26 +00:00
7e613b1b90 Parsing/analyzing assign statements.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-14 01:23:51 +00:00
f7e8cef380 Yay! Class lookup and allocation e2e.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-13 22:19:34 +00:00
0e24ce1784 Add fqn_context.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-13 21:20:31 +00:00
5be778ba80 Fix some ir-related things with fields.
8759c3be27 Lots of work e2e for reading/setting fields.
54e2a170a2 VM-side work on values and objects to make it possible to locate fields.
55a84a98b3 More work on getting example to compile, need to use fqns and proper returns.
Compare 4 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-13 02:53:00 +00:00
320cdcf805 Compiling fields getters/setters.
51a80bb5ed Add records to manual.
940671822c Add basic classes example.
75802e6ee4 Expand diagnostic API.
93eb5eb204 Add ability to call constructors.
Compare 8 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-12 03:16:44 +00:00
75dcca0002 Name analysis for classes and affected things.
efecd6b9c8 Complete negation operator.
Compare 2 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-11 20:06:12 +00:00
89f519c45f Refactor scopes and symbol table for more resiliency and classes/fields.
9790ec6ca6 Remove module_level_declaration ast node.
Compare 2 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-11 02:20:50 +00:00
80b6b96aeb Implement lexing and parsing for classes.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-10 22:35:27 +00:00
9df9edc508 Add doubles.
7de866cf9d Add return-type checking and fix string literal type-info bug.
Compare 2 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-10 02:11:44 +00:00
705436ba61 Add repl subcommand with expressions only.
b88b230495 Make run subcommand.
Compare 2 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-10 00:22:54 +00:00
ebca87ddb9 A lot of work just to do subtraction.
e35bacb583 Bunch of AST refactoring to make api easier.
9d09f7481b Add unary minus and subtraction to lexer/parser/ast node kinds.
Compare 3 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-09 01:33:55 +00:00
e486b212ae Sketching dvm object.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-08 21:30:32 +00:00
ec848b3d36 Add e2e-tests project and add register saving around calls.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-08 18:35:28 +00:00
a7d162b2ca Add backlog.
ec7bf650b2 Add return mechanism to dvm code, and related fixes to dmc.
2e33936842 Complete forgotten todo.
12174c9cf6 Add stack offset propagation, clean up some deprecated things.
12c4d0eb83 End-to-end with register allocation.
Compare 5 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-08 00:25:27 +00:00
1171ce75f9 Propagate register assignments.
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-07 23:54:31 +00:00
d8bd826cb0 Fix parse mistake.
4479fcb1ba Refactor register allocation code to separate module.
5d565ccf91 Fix register allocation algorithm.
Compare 3 commits »
jessebrault pushed to main at jessebrault/deimos-lang 2026-03-06 05:19:16 +00:00
8e9ae9ed98 Implement register allocation algorithm, with a few bugs.
272d288213 Implement block/statement interference graph algorithm.
c91bb35d8d Giving more info to ir.
15089a15d2 Re-introduce ir with goal of doing register allocation.
cfff03e97d Add add_strings.dm.
Compare 5 commits »