Commit Graph

408 Commits

Author SHA1 Message Date
Jesse Brault
88487a911e Organize repo by moving out old stuff. 2026-03-25 11:20:46 -05:00
Jesse Brault
10221f6c3c Switch back to stable rust. 2026-03-25 11:16:18 -05:00
Jesse Brault
c5781114a5 Repl with let statements mostly working. 2026-03-25 10:12:05 -05:00
Jesse Brault
655a0288d3 Some parser refactoring. 2026-03-23 15:47:37 -05:00
Jesse Brault
53ec6a8f4f Unused import. 2026-03-23 10:47:47 -05:00
Jesse Brault
41e798d8a6 Refactor lexer for readability and less method calls. 2026-03-23 10:47:23 -05:00
Jesse Brault
916b6377ac All examples working again. 2026-03-21 18:18:28 -05:00
Jesse Brault
bb2b539f9b All tests passing again. 2026-03-21 18:04:13 -05:00
Jesse Brault
4d6aa3ffd4 Fixing name checking for constructor assignment destinations. WIP. 2026-03-21 17:53:35 -05:00
Jesse Brault
344761022b More fixes to type info, etc. WIP. 2026-03-21 17:42:10 -05:00
Jesse Brault
fc83cf7827 Preparing for intrinsic class symbols. WIP. 2026-03-21 11:36:42 -05:00
Jesse Brault
7f1d507f4f Fixing more bugs. WIP. 2026-03-21 10:55:47 -05:00
Jesse Brault
912f208705 Fixing bugs. WIP. 2026-03-20 23:57:09 -05:00
Jesse Brault
4e8fa159c0 Fewer tests failing. WIP. 2026-03-20 20:39:30 -05:00
Jesse Brault
cf92356585 Major refactor of frontend ast semantic analysis. WIP. 2026-03-20 19:36:06 -05:00
Jesse Brault
8724c07ae2 Refactor class ast node. 2026-03-18 15:12:51 -05:00
Jesse Brault
7665a92678 Sketching class. 2026-03-18 10:37:38 -05:00
Jesse Brault
42a5b994d2 Refactoring top-level constructs. 2026-03-17 11:26:57 -05:00
Jesse Brault
86fcbb494b Semantic analysis of generic args and params. 2026-03-16 12:37:10 -05:00
Jesse Brault
3466908a80 Lexing/parsing generic args. 2026-03-16 10:28:53 -05:00
Jesse Brault
b4094bf570 Sketching array-related things. 2026-03-15 19:18:27 -05:00
Jesse Brault
0dce883dbd op_prec example working. 2026-03-15 16:20:55 -05:00
Jesse Brault
fa13697596 Instruction generation and implementation for shift and bitwise operators. 2026-03-15 16:18:09 -05:00
Jesse Brault
7e72037d9e Instruction generation and implementation for multiplicative operators. 2026-03-15 15:50:02 -05:00
Jesse Brault
b0660c9e5a Parsing and lexing bitwise operators. 2026-03-15 15:05:00 -05:00
Jesse Brault
f0c84fe0c8 Parsing and lexing multiply, divide, modulo, shift operators. 2026-03-15 13:41:07 -05:00
Jesse Brault
4a0a6b8425 Clean up ir vr_user trait and implementations. 2026-03-15 13:16:21 -05:00
Jesse Brault
f9373a687f Refactor to use IrBinaryOperation. 2026-03-15 12:56:22 -05:00
Jesse Brault
863c3fef5d Refactor to use BinaryExpression. 2026-03-15 12:18:38 -05:00
Jesse Brault
5a123419bd Assign statements ir and fixing some things. 2026-03-14 19:53:06 -05:00
Jesse Brault
7e613b1b90 Parsing/analyzing assign statements. 2026-03-14 10:36:53 -05:00
Jesse Brault
f7e8cef380 Yay! Class lookup and allocation e2e. 2026-03-13 20:21:49 -05:00
Jesse Brault
0e24ce1784 Add fqn_context. 2026-03-13 17:19:25 -05:00
Jesse Brault
5be778ba80 Fix some ir-related things with fields. 2026-03-13 16:20:08 -05:00
Jesse Brault
8759c3be27 Lots of work e2e for reading/setting fields. 2026-03-13 09:16:41 -05:00
Jesse Brault
54e2a170a2 VM-side work on values and objects to make it possible to locate fields. 2026-03-13 00:01:55 -05:00
Jesse Brault
55a84a98b3 More work on getting example to compile, need to use fqns and proper returns. 2026-03-12 23:48:35 -05:00
Jesse Brault
320cdcf805 Compiling fields getters/setters. 2026-03-12 21:52:52 -05:00
Jesse Brault
51a80bb5ed Add records to manual. 2026-03-12 18:41:41 -05:00
Jesse Brault
940671822c Add basic classes example. 2026-03-12 16:24:20 -05:00
Jesse Brault
75802e6ee4 Expand diagnostic API. 2026-03-12 16:15:03 -05:00
Jesse Brault
93eb5eb204 Add ability to call constructors. 2026-03-12 15:57:32 -05:00
Jesse Brault
8082f4c2e6 Add type-checking to classes/fields/constructors. 2026-03-12 15:39:13 -05:00
Jesse Brault
3c0bf948ac Start writing documentation on compiler errors. 2026-03-12 15:17:34 -05:00
Jesse Brault
ad821ce6a7 Add ctors, most name-analysis for classes/fields/constructors. 2026-03-12 12:35:36 -05:00
Jesse Brault
75dcca0002 Name analysis for classes and affected things. 2026-03-11 22:15:23 -05:00
Jesse Brault
efecd6b9c8 Complete negation operator. 2026-03-11 19:54:47 -05:00
Jesse Brault
89f519c45f Refactor scopes and symbol table for more resiliency and classes/fields. 2026-03-11 15:05:47 -05:00
Jesse Brault
9790ec6ca6 Remove module_level_declaration ast node. 2026-03-11 12:14:50 -05:00
Jesse Brault
80b6b96aeb Implement lexing and parsing for classes. 2026-03-10 21:20:21 -05:00