Commit Graph

45 Commits

Author SHA1 Message Date
67a5fcd002 Basically revert everything, create macro-pass 2025-07-28 22:11:46 +03:00
2e153922f1 Start adding macros 2025-07-28 21:54:51 +03:00
a4e18af983 Add intrinsic bit-operators 2025-07-28 12:16:14 +03:00
49084ea0af Add AST -> MIR for bitwise-operations and or 2025-07-28 11:59:20 +03:00
57b5a5cce4 Increment versions 2025-07-28 01:15:17 +03:00
1f56fa5dc3 Fix using self within self 2025-07-28 00:41:35 +03:00
676554b6a0 Improve deref parsing 2025-07-27 22:24:38 +03:00
4d7c17a854 Add typeinference and typechecking for Associated Functions 2025-07-27 18:24:49 +03:00
46668b7099 Fix a bunch of warnings 2025-07-27 18:11:18 +03:00
ab94bd7df0 Add AST -> MIR processing for associated functions 2025-07-27 03:08:34 +03:00
307137d0d9 Fix a significant problem in how the typerefs aren't narrowed properly 2025-07-25 20:16:54 +03:00
7ba3204803 Implement typechecking and inference logic for binops 2025-07-25 18:10:22 +03:00
8d3dd4a49f Improve binop type narrowing 2025-07-25 16:55:32 +03:00
f8d2e4996a Refactor typecheck into it's own module 2025-07-25 16:19:55 +03:00
be3c415a57 Implement void returns 2025-07-24 21:54:55 +03:00
f6425fc37e Embrace having megaintrinsic binops 2025-07-24 20:15:13 +03:00
bb0b7c12c3 Fix collapsing of both types in type inferrer 2025-07-24 19:03:03 +03:00
b12e0a18a9 Add typechecking for custom binops 2025-07-24 15:38:08 +03:00
9f7022b4c0 Add operator to scopebinop, add some typechecking for binops 2025-07-24 15:09:27 +03:00
aec7d55e9b Add codegen to custom binops 2025-07-24 15:03:05 +03:00
4bef1c2379 Start implementing intrinsics 2025-07-24 01:39:49 +03:00
7027ee3645 Fix default for arrays 2025-07-23 23:11:20 +03:00
75a7a435d1 Make for-loops syntax sugar instead 2025-07-23 20:44:30 +03:00
1a5e3ef1d9 Add loops ast -> mir 2025-07-23 20:29:13 +03:00
b9459a19bb Add div/mod parsing 2025-07-23 14:59:51 +03:00
9df1593de9 Fix decimal parsing, add u128-support for integer parsing 2025-07-22 23:20:38 +03:00
8954d1a6d0 Add binop_hint 2025-07-22 23:14:38 +03:00
ef427f5e58 Fix checking that parameters and return-type is known 2025-07-22 22:29:00 +03:00
0a90ac4497 Fix inner block generation 2025-07-22 22:15:34 +03:00
28437aecb6 Fix indexing return type and casting to and from a char 2025-07-22 20:03:25 +03:00
3d73c52cb4 Fix casting within setters 2025-07-22 19:31:35 +03:00
e9bca63f0d Add module id to CustomType, String to std 2025-07-22 16:16:46 +03:00
1224c612c7 Codegen & compile char, change *str to *char 2025-07-22 15:07:33 +03:00
e220900ac3 Start adding chars 2025-07-22 14:44:28 +03:00
104205ee5d Type-infer and check typecasting 2025-07-22 13:24:53 +03:00
3378f556ec Add AST -> MIR for typecasting 2025-07-21 21:28:39 +03:00
069c277516 Update String to be *str 2025-07-21 19:32:40 +03:00
3d3a9a34f9 Fix binary operators for floats, make library functions extern 2025-07-21 17:32:20 +03:00
ec0c7fa194 Fix float coersion rules 2025-07-21 16:53:29 +03:00
7c7dde03f9 Fix error reporting on No-Main-Function and add fp compilation 2025-07-21 16:44:16 +03:00
b23577aa18 Check for trivial expressions that they are >0 when unsigned 2025-07-21 15:44:47 +03:00
9db508bd9c Change user-space pointer to different type 2025-07-21 13:52:37 +03:00
a49105b07a Add typecheck/infer for pointers 2025-07-21 13:29:19 +03:00
1fadaa60f2 Add mutability compatibility check to borrows 2025-07-21 10:33:37 +03:00
74ce296a05 Refactor a bit 2025-07-21 10:29:26 +03:00