Commit Graph

36 Commits

Author SHA1 Message Date
f139a5ad6c Add MIR support for struct types 2025-07-15 21:48:58 +03:00
6788ef1690 Use AvailableExternally-linkage for externs for imports 2025-07-15 20:01:46 +03:00
fa4df50a04 Fix linking so that non-imported functions don't bother main-module 2025-07-14 22:22:55 +03:00
a71843dfe9 Implement import-pass 2025-07-14 20:13:30 +03:00
464156b2dc Fix imports in MIR 2025-07-14 19:20:38 +03:00
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00
83475b144c Codegen strings 2025-07-14 17:54:56 +03:00
73a3b15fb6 Add AST -> MIR for strings 2025-07-14 17:45:36 +03:00
cbb1be1161 Implement GEP instead of the weird thing before 2025-07-13 23:14:16 +03:00
a18a5b4199 Continue progress, make set-statements as todos for later 2025-07-13 19:00:46 +03:00
ad20fefabc Add Array Expression to MIR 2025-07-13 18:37:18 +03:00
587ab8afd5 Make mir array implementation halfway, compiling but not working yet 2025-07-13 18:32:27 +03:00
92736e392e Refactor Type Hints -> Type Refs 2025-07-13 15:58:19 +03:00
f3f47831e9 Split type inference to it's very own pass 2025-07-13 15:55:14 +03:00
61ab5002e4 Split typechecking into two passes, finish first pass 2025-07-12 22:59:23 +03:00
873948a0c4 Move scopehints to own file 2025-07-12 18:40:26 +03:00
0f424c70d7 Implement mutability part 2 2025-07-12 14:37:10 +03:00
14e0dcbe15 (broken) add part 1 of mutability 2025-07-12 02:38:31 +03:00
b19a32cd8a Make early returns work even without an explicit return 2025-07-09 22:20:08 +03:00
a907fec967 Fix module docs 2025-07-09 20:07:30 +03:00
9710d17e00 Add a bunch of documentation 2025-07-09 20:01:24 +03:00
257496aae2 Rename LogicOperator to CmpOperator 2025-07-09 19:24:07 +03:00
197f0b22f3 Add boolean literals 2025-07-09 19:17:03 +03:00
d5daaa0e87 Improve Debug and Display implementations 2025-07-09 18:47:40 +03:00
49df6c9ed9 Add a bunch of new integer comparison operators 2025-07-09 16:05:08 +03:00
46560d8541 Add all types u8 -> i128 and fix signedness in icmp 2025-07-08 23:47:44 +03:00
14283afe59 Separate pass-common code to pass.rs 2025-07-08 21:44:04 +03:00
9b9fcd4ec4 Make AST contain only abstract Numbers 2025-07-08 00:48:28 +03:00
9b68ecb614 Add some security checks, typecheck for condition to be a boolean 2025-07-07 23:25:07 +03:00
a366d22470 Add typechecking 2025-07-07 23:03:21 +03:00
12dc457b99 Add mandatory return type for MIR Function 2025-07-07 18:32:37 +03:00
0932af2e3b Simplify transformation from AST to MIR 2025-07-06 23:01:28 +03:00
61ba00ea58 Transform AST into MIR successfully, completing the chain 2025-07-05 01:34:57 +03:00
a66fc61c07 Fiddle with names a bit 2025-07-04 21:54:07 +03:00
8a32e66ba8 Refactor a bunch of stuff, produce compiling MIR 2025-07-04 21:30:40 +03:00